5 ms·
Julia is slower than Python for most applications if you include the compile time (which is every time you run your program, because it's "just in time"). edit
by jovial_cavalier 3y ago
Julia is slower than Python for most applications if you include the compile time (which is every time you run your program, because it's "just in time").
edit: I want to be clear - I like Julia, and I have long wanted a scripting language that was gramatically simple like python but had support for strong typing, etc. But the TTFX problem, for me, muddies the waters on the question of "which is faster, Julia or Python?"
- tjrgergw 3y agoYou compile your code every time you run it? Yikes. Sorry to hear that.
- jovial_cavalier 3y agoIs there a way to get around that in Julia? I tried to find a way to compile programs directly, and was disappointed with what was on offer.
- tjrgergw 3y agohttps://github.com/JuliaLang/PackageCompiler.jl https://github.com/JuliaLang/PackageCompiler.jl https://julialang.github.io/PrecompileTools.jl https://julialang.github.io/PrecompileTools.jl https://julialang.org/blog/2023/04/julia-1.9-highlights/#caching_of_native_code https://julialang.org/blog/2023/04/julia-1.9-highlights/#cac...
- johnbcoughlin 3y agoWhat does "most applications" mean?
- jovial_cavalier 3y agoMost code that is written is code that is run frequently and with a short runtime. Julia is not good at this.
- eigenspace 3y agoMaybe if your program is just println("hello world!") Julia also has done a lot lately[1] to cache the results of JIT compilation from packages and re-use it later. So if you're doing a lot of println("hello world!") or whatever, you can make that faster by bundling it in a package and adding a precompile workflow. This will also be improving more with upcoming releases. [1] https://julialang.org/blog/2023/04/julia-1.9-highlights/#caching_of_native_code https://julialang.org/blog/2023/04/julia-1.9-highlights/#cac...
- adgjlsfhk1 3y agoThis is not true https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/julia-python3.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/... shows the middle of the pack julia implementations being over 10x faster than the fastest python implementations including startup and compile time.
- jovial_cavalier 3y agoOn contrived benchmarks, sure. What if I want to, say, parse a json file and print something from it? I understand that Julia is scientific computing oriented, and is probably faster than Python for those applications, but the fact is that Python is no slouch when it comes to scientific computing. And it can do a lot more, including simple but powerful scripts, which is what I mean when I say "most applications."
- tjrgergw 3y ago> contrived benchmarks Why is doing actual science more of a contrived benchmark than parsing and printing a json? I think this says more about what you personally do than anything else.
- jovial_cavalier 3y agoMost code is that. N-body problems and computing the julia set are cool and beautiful and important. But most code is plumbing scripts that get run for .5s 10,000,000 times a day.
- tjrgergw 3y agoSure, if you're solving easy problems python will be fine.
- jovial_cavalier 3y agoAnd if you're solving hard problems, it's fine too. That's my only point. You'll see on that same benchmark page that C is 2-3x faster than Julia. If you want performance, use C. Julia is this weird middle ground where it has the simplified syntax of Python, is a little faster than Python, but still slower than C. Anything that needs to be done in real time will be optimized into a "real" language like C, C++ or Rust.