4 ms·
Maybe I'm wrong, but I do work in the REPL. Each time I update a struct, I need to restart the REPL, hence reload dependencies... Of course, I could make my own
by wiz21c 4y ago
Maybe I'm wrong, but I do work in the REPL. Each time I update a struct, I need to restart the REPL, hence reload dependencies... Of course, I could make my own sysimage, but it's a bit painful...
Is Julia "doomed" on this issue or is it just that they prefer to work on other use cases first ?
- celrod 4y agoJulia's 1.8's load times are dramatically better than Julia 1.0's. It keeps getting a bit better with every release. But there is a project to cache native code (without needing to build a sysimage) that may make a huge difference...
- socialdemocrat 4y agoNo, you can use a macro which makes your structs slower but changeable. There are several Julia packages offering this functionality.
- borodi 4y agoYes and no. There are ways around that for development like https://github.com/BeastyBlacksmith/ProtoStructs.jl https://github.com/BeastyBlacksmith/ProtoStructs.jl. But changing the definition of actual structs isn't very feasable because what happens with the structs that use the old definition, i.e an array of them.
- jakobnissen 4y agoIt's not doomed, no. It's possible to have a low-latency Julia. It's just been happening slower that one could have hoped, especially for the users who started using Julia and could tolerate the latency because they expected it would be better soon. * It's been reduced by like 75% (roughly, not sure about the real number) since Julia 1.0, so material progress has been made. * In the future (I'm guessing 1-2 years, of course uncertain), native code caching could make a huge difference. * On a similar timescale, Julia could allow compilation into static binaries. This could possibly be done for some dependencies that does not need to be generic, which would take another chunk of the compilation need off.
- eigenspace 4y agomy go-to strategy is to just make a module and write code there, and then if I need to change a struct definition, I just change the name of the module and re-run it. ReplMaker.jl can make this process more convenient, but in version 1.9, there’ll be a facility for that built into the regular REPL.