3 ms·
Python is slow, reee. This is a major problem in scientific fields. Currently there are sort of "two tiers" of scientific programmers: ones who write the fast
by jampekka 3y ago
Python is slow, reee.
This is a major problem in scientific fields. Currently there are sort of "two tiers" of scientific programmers: ones who write the fast binary libraries and ones that use these from Python (until they encounter e.g. having to loop and they are SOL).
This is known as the two language problem. It arises from Python being slow to run and compiled languages being bad to write. Julia tries to solve this (but fails due to implementation details). Numba etc try to hack around it.
Pypy is sadly vaporware. The failure from the beginning was not supporting most popular (scientific) Python libraries. It nowadays kind of does, but is brittle and often hard to set up. And anyway Pypy is not very fast compared to e.g. V8 or SpiderMonkey.
Reee.
- pas 3y agoThe major problem in scientific fields is not this, but the amount of incompetence and the race-to-the-bottom environment which enables it. Grant organizations don't demand rigor and efficiency, they demand shiny papers. And that's what we get. With god awful code and very questionable scientific value.
- jampekka 3y agoThere are such issues, but I don't think they are a very direct cause of the two language problem. And even these issues are part of the greater problem of late stage capitalism that in general produces god awful stuff with questionable value. E.g. vast majority of industry code is such.
- JodieBenitez 3y ago> Julia tries to solve this (but fails due to implementation details) Care to list some of those details ? (I have zero knowledge in Julia)
- jampekka 3y agoThis is quite a good intro: https://viralinstruction.com/posts/badjulia/ https://viralinstruction.com/posts/badjulia/
- affinepplan 3y agofyi: the author of that post is a current Julia user and intended the post as counterpoint to their normally enthusiastic endorsements. so while it is a good intro to some of the shortfalls of the language, I'm not sure the author would agree that Julia has "failed" due to these details
- jampekka 3y agoYes, but it's a good list of the major problems, and laudable for a self-professed "stan" to be upfront about them. It's my assesment that the problems listed in there are a cause why Julia will not take off and we're largely stuck with Python for the foreseeable future.
- adgjlsfhk1 3y agoIt is worth noting that the first of the reasons presented is significantly improved in Julia 1.9 and 1.10 (released ~8 months and ~1 month ago). The time for `using BioSequences, FASTX` on 1.10 is down to 0.14 seconds on my computer (from 0.62 seconds on 1.8 when the blog post was published).
- jampekka 3y agoTTFX is indeed getting a lot better. But e.g. "using DynamicalSystems" is still over 5 seconds. There is something big going on in caching the binaries, so there's a chance the TTFX will get workable.