3 ms·
Startup times are not fantastic with packages. This hasn't been a big area of focus yet, but there is a roadmap for getting this down. Its definitely a typo. S
by idunning 13y ago
Startup times are not fantastic with packages. This hasn't been a big area of focus yet, but there is a roadmap for getting this down.
Its definitely a typo. Stable release is currently 0.2 (released near end of 2013) and upcoming version is 0.3 (a month or so away).
- carterschonwald 13y agoUnless julia switches to an ahead of time compilation model, startup times will fundamentally stay slow. LLVM can be used as a jit, but it's really tuned for ahead of time compilation and while the llvm devs want to support jit, their focus will always favor ahead of time compilation.
- KenoFischer 13y agoThere's no need to switch Julia to an AOT model, it suffices to supplement it with one, which is exactly what happens for the Julia standard library on master. It's only a question to extend that capability to packages, which is ongoing work.
- thinkpad20 13y agoCouldn't the language simply cache the bytecode compiled when a package runs, and only reload if the timestamp on the compiled code is older than that on the source? I believe this is what python does with its .pyc files. Then it could go a step further and cache the binary generated by compiling the bytecode to machine code... seems like there's a lot of things that could be done to speed up package loading.
- KenoFischer 13y agoThis is basically what I meant. Julia doesn't really have a bytecode. There is a lower, type-inferred form of the AST as well as the llvm IR representation. However, instruction selection itself takes quite a bit of time, so if we're caching the IR, we might as well cache the generated machine code (the challenges are basically the same). As I said, it's work-in-progress (it's not that it's hard or anything, but it's a bit of work do it properly, which isn't done yet).
- carterschonwald 13y agoSo it becomes an AOT model with good jit support? Neat! I look forward to seeing how the design crystallizes.
- deleted 13y ago[deleted]
- deleted 13y ago[deleted]