Anshu Chen
Anshu Chen

Reputation: 433

Julia drawing from standard normal distribution

I need to draw 53000000 observations from a standard normal distribution. My current code takes a long time to run in Julia (in fact, it's been running for the past twenty minutes) and I'm wondering if there's anything I can do to speed it up. Here's what I tried:

using Distributions
d = Normal()
shock = rand(d, 1, 53000000)

The code works instantaneously when I execute it in REPL (I am working in Juno/Atom), but lags at this point (drawing from the standard normal) when I step through using the debugger. So I think the debugger may be the real culprit here.

Upvotes: 2

Views: 407

Answers (1)

Bill
Bill

Reputation: 6086

It may be that the 1/2 gig of memory used by the allocation of the variable shock is sometimes causing swapping when the debugger is loaded.

Try running this to see, in the debugger:

using Distributions, Base.Sys

println("Free memory is $(Int(Sys.free_memory()))")
d = Normal()
shock = rand(d, 1, 53000000)
println("shock uses $(sizeof(shock)) bytes.")
println("Free memory is $(Int(Sys.free_memory()))")

Are you close to out of memory in gigs?

Upvotes: 2

Related Questions