5 ms·
Great stuff. I think the author may be using the release version 0.2, as the boot time issue has been rectified now for the most part in the next release, 0.3.
by idunning 12y ago
Great stuff. I think the author may be using the release version 0.2, as the boot time issue has been rectified now for the most part in the next release, 0.3. The next big slow-load issues is packages, that'll be post 0.3 though.
- srean 12y agoAssuming that this was fixed by caching the machine code, cant the same approach be used for packages ? Or to turn my question around: what is different about packages is it that they are not necessarily written in Julia ? I have still not taken a serious plunge with Julia, testing waters. Any plans for doing the same to individual scripts ? It would be handy to start off from the last known set of JIT'ed functions, may be retiring paths that are no longer frequented.
- ihnorton 12y agoYes - the base image is compiled to a shared library. There is a mechanism for including package/user code in the system image if you compile Julia yourself. It works well with a wide range of packages, but the goal is to generalize this and make it usable with binary releases, and probably to compile packages to separate shared libraries.
- eyeballtrees 12y agoOP here. I'm currently using 0.2, I'll have to upgrade and see if that fixes the issue. Thanks!
- ViralBShah 12y agoThere are two separate issues, I believe you refer to. There is the boot time, which has been considerably improved, and is less than a second. The second thing is the slight pause that you refer to (if I understand the post correctly), when executing stuff the first time. That is the JIT compiling and warming the code cache.
- StefanKarpinski 12y agoThe startup time in 0.3 is more than 10x faster than 0.2 – it's down to ~200 ms on my machine, whereas it was about 2 seconds before. It's now quite painful to go back and use 0.2.
- DennisP 12y agoIs the error reporting improved for 0.3? That was my main problem with 0.2 (on linux). I ran into situations where all I knew was that something went wrong somewhere in my program. I've seen other people make similar comments. (Aside from that I really love the language, and I'm looking forward to doing more with it.)
- idunning 12y agoNot completely. Not an expert on this, but I believe issue at least partially stems from the interaction with the older LLVM JIT we are using. We are moving to the newer LLVM JIT in the 0.4 release cycle and I understand this will address the issue.
- DennisP 12y agoGood news, thanks :)