3 ms·
Yes, I'm gonna talk about Julia... It's kinda of sad how much effort is put on the creation of new Python compilers to make it slight faster while the problem
by up6w6 5y ago
Yes, I'm gonna talk about Julia...
It's kinda of sad how much effort is put on the creation of new Python compilers to make it slight faster while the problem of latency to compile that people hate at Julia is not tracked because of the lack of manpower to improve Julia's interpreter.
https://youtu.be/IlFVwabDh6Q?t=2530 https://youtu.be/IlFVwabDh6Q?t=2530 (tldr: The Julia interpreter is currently about 500x slower than JIT code and there are a lot of low-hanging fruit work there that could easily give it a 10x speedup - this could make more viable to switch between compiler and interpreter depending on the work)
- fault1 5y agothe problem with Julia in the use case of OP is really the fact that it is garbage collected (and perhaps also how its GC is tuned). You can work to eliminate allocations, but the memory determinism problem is more important in real time control and embedded systems. see for example, this video: https://www.youtube.com/watch?v=dmWQtI3DFFo https://www.youtube.com/watch?v=dmWQtI3DFFo It's kind of why C is still king in this space.
- zanellia 5y agoPersonally, I think Julia is great - just don't know it well enough to write a package that takes Julia ASTs and generate C code from them :) There could totally be a Julia implementation of the main idea behind prometeo (Julia per se does not solve the problem that prometeo aims at solving).
- adgjlsfhk1 5y agoYou can just use `@code_llvm` to generate LLVM code, or `@code_native` to generate assembly. Does that do what you need?
- zanellia 5y agohmm not sure, the compiled LLVM code would still depend on the runtime library?
- adgjlsfhk1 5y agoThe LLVM code will only call into the runtime for allocation or dynamic dispatch, both of which are avoidable. Lots of real Julia code will never touch it.