# Rand(10^8) runs ok, (10^9)...crashes and auto-restart Julia

**URL:** <https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598>\
**Category:** Performance\
**Created:** [November 4, 2020, 7:58pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598 "2020-11-04T19:58:07Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![teriiju](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/teriiju/32/19029_2.png) [@teriiju](https://discourse.julialang.org/u/teriiju)\
**Post date:** [November 4, 2020, 7:58pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/1 "2020-11-04T19:58:07Z")

</div>

Running…

```julia
rand(10^9) 

```

will lead my jupyter notebook session to crash and autorestart on my PC.  
Q : Is this a limit to be expected using Rand on a I3 - single thread - or are there workaround to push the rand() function a little bit higher ?  
Tks

---

<div class="post-metadata">

**Author:** ![lungben](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lungben/32/12314_2.png) [@lungben](https://discourse.julialang.org/u/lungben)\
**Post date:** [November 4, 2020, 8:01pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/2 "2020-11-04T20:01:06Z")

</div>

10^9 floating point numbers is 8 GB.  
How much memory is in your machine?

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [November 4, 2020, 8:02pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/3 "2020-11-04T20:02:10Z")

</div>

You’re asking for about 7.5 gigabytes of data. You therefore are running out of ram.

---

<div class="post-metadata">

**Author:** ![teriiju](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/teriiju/32/19029_2.png) [@teriiju](https://discourse.julialang.org/u/teriiju)\
**Post date:** [November 4, 2020, 8:04pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/4 "2020-11-04T20:04:17Z")

</div>

Thanks guys, oh ok, I can add another 8GB…  
So, can you tell how can one get this estimate of 7.5 gig of Data if not too complex ?  
Thanks

yes, its only 8GB at the moment

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [November 4, 2020, 8:06pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/5 "2020-11-04T20:06:48Z")

</div>

A Float is 8 bytes. You want 10^9 of them.

---

<div class="post-metadata">

**Author:** ![teriiju](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/teriiju/32/19029_2.png) [@teriiju](https://discourse.julialang.org/u/teriiju)\
**Post date:** [November 4, 2020, 8:08pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/6 "2020-11-04T20:08:42Z")

</div>

Ok, I get it, thanks for this help. !  
Will reboot with more ram.  
Thanks…

---

<div class="post-metadata">

**Author:** ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)\
**Post date:** [November 4, 2020, 8:11pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/7 "2020-11-04T20:11:17Z")

</div>

Do you really need those 10^9 numbers at once ? If not you should probably use a loop. E.g.

```julia
julia> function mean_of_rand(N)
           s = 0.0
           for i=1:N
               s += rand()
           end
           s/N
       end

julia> @time mean_of_rand(1e9)
  2.861199 seconds
0.499999456741799

```

---

<div class="post-metadata">

**Author:** ![teriiju](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/teriiju/32/19029_2.png) [@teriiju](https://discourse.julialang.org/u/teriiju)\
**Post date:** [November 4, 2020, 8:15pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/8 "2020-11-04T20:15:33Z")

</div>

Sure, I was thinking so…and no, I do not have a case where I do need that much, I’m just testing some machine limits and got very good help from everyone here - as usual should I say. 👍 Top Forum helpers ! 🙃

---

<div class="post-metadata">

**Author:** ![teriiju](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/teriiju/32/19029_2.png) [@teriiju](https://discourse.julialang.org/u/teriiju)\
**Post date:** [November 4, 2020, 8:33pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/9 "2020-11-04T20:33:49Z")

</div>

function mean\_of\_rand(N) is the way to go if needed !

- rand(10^9) is now working with 16GB but no higher than this on my machine

… “mean of ran” keeps working at 10^10 on the other hand !  
Thanks to all.  
have a nice week !

---

<div class="post-metadata">

**Author:** ![moeddel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moeddel/32/18641_2.png) [@moeddel](https://discourse.julialang.org/u/moeddel)\
**Post date:** [November 4, 2020, 9:57pm UTC](https://discourse.julialang.org/t/rand-10-8-runs-ok-10-9-crashes-and-auto-restart-julia/49598/10 "2020-11-04T21:57:34Z")

</div>

> [@jonathanBieler](#):
>
> Do you really need those 10^9 numbers at once ? If not you should probably use a loop. E.g.
> 
> ```julia
> julia> function mean_of_rand(N)
> s = 0.0
> for i=1:N
> s += rand()
> end
> s/N
> end
> 
> julia> @time mean_of_rand(1e9)
> 2.861199 seconds
> 0.499999456741799
> 
> ```

To call this function so often is also quite expensive. Lower cost is to generate random data in chunks.
