Note that there are some explanatory texts on larger screens.

plurals
  1. POSlow Julia Startup Time
    primarykey
    data
    text
    <p>I am exploring using Julia as a general purpose scientific computing language (as opposed to python), but it's startup time is pretty sluggish.</p> <p>Is there any way of speeding this up?</p> <pre><code>$ time python -c 'print "Hello"' Hello real 0m0.030s user 0m0.018s sys 0m0.010s $ time julia -e 'println("Hello")' Hello real 0m4.614s user 0m4.644s sys 0m0.116s </code></pre> <hr> <p><strong>ADDENDUM</strong>: <a href="https://stackoverflow.com/a/10711762/586893">Here</a> is a quote from one of the Julia authors last year. Was there some difficulty with this strategy?</p> <blockquote> <p>Most of Julia is written in itself, then parsed, type-inferred and jitted, so bootstrapping the entire system from scratch takes some 15-20 seconds. To make it faster, we have a staged system where we parse, type-infer, and then cache a serialized version of the type-inferred AST in the file sys.ji. This file is then loaded and used to run the system when you run julia. No LLVM code or machine code is cached in sys.ji, however, so all the LLVM jitting still needs to be done every time julia starts up, which therefore takes about 2 seconds.</p> <p>This 2-second startup delay is quite annoying and we have a plan for fixing it. The basic plan is to be able to compile whole Julia programs to binaries: either executables that can be run or .so/.dylib shared libraries that can be called from other programs as though they were simply shared C libraries. The startup time for a binary will be like any other C program, so the 2-second startup delay will vanish.</p> </blockquote>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload