3 ms·
I wanted to like Julia, but have been unable to. If I want fast numerical/scientific code, I have Rust. If I want to prototype numerical algorithms, plot things
by the__alchemist 4y ago
I wanted to like Julia, but have been unable to. If I want fast numerical/scientific code, I have Rust. If I want to prototype numerical algorithms, plot things, prototype, REPL etc, I have Python. I was hoping Julia could replace the latter, but it's too slow-to-compile; need fast iteration.
Julia's numerical syntax is unbeaten. I wish other languages would adopt it.
- adgjlsfhk1 4y agoIf compile time is a major bottleneck and you want to use Julia, I highly recommend using -O1. Julia uses -O2 by default which is faster, but has a quite notable compile time impact (often 2x or so).
- cbkeller 4y agoLatency / "ttfx" for all sorts of things has also dropped dramatically over the past ~year, and will get another big boost with the native code caching PR
- xchkr1337 4y agoWhy don't they just add an interpreter and only compile when needed, like V8 does?
- goerz 4y ago"just"
- adgjlsfhk1 4y agoJulia actually already has an interpreter that it uses for some stuff (like code in the global scope). adding more of a teired jit approach is on the Todo list, but it's a very large project.
- syockit 4y agoIt is already doing what V8 does. It's only compiling when needed. The problem is when you start to put in too many things in the startup script, which is going to compile the things it says it "needs", even though you may never use when running.
- jakobnissen 4y agoWhat if you want both though? IMO projects where Python wraps a compiled language is likely to get you the worst of both worlds. The latency of Julia does really suck though. I would wait it out if I were you and check in in two-three years and are if it's better (which it very much should be!)
- singularity2001 4y agoJulia has the most beautiful syntax but a doubtful runtime/toolchain. Rust has the most beautiful runtime/toolchain but a doubtful syntax.
- cies 4y ago> Rust has the most beautiful runtime/toolchain but a doubtful syntax. When you want to use it for the type of number crunching programs that Julia is made for. Rust is made for making programs that currently C and C++ are used for: every tick counts, close to the metal kind of code (kernels, drivers, hi-perf, soft-realtime, etc). Julia is not even considered in that space.
- bobbylarrybobby 4y agoDo you use the REPL-driven workflow in Julia? With Revise.jl you only really have to pay the startup cost once; subsequent changes you make are usually fast enough to feel instant.