Re:CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster tha...
by mlthoughts2018 on Sunday October 11, 2020 @03:32PM
(#24748378)
This is also very easy to achieve in Python by using Cython to selectively optimize code. That way for the 99% of code where such optimizations are meaningless and their requirement for static typing is a liability, you can ignore them, and only focus on the 1% of use cases where it matters.
Re:CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster tha...
by jakobnissen on Monday October 12, 2020 @03:41AM
(#24752268)
... but Cython is not Python, is it? The argument that "Python can do it, you just have to use something other than Python) is very weird to me.
I began looking into Julia because I was forced into Cython during a project and I loathed having to add a separate, statically compiled section of my code that did not integrate well with the rest of Python (e.g. no stack traces through Cython), and kept breaking (because of some linker issues in Conda)
Re:CSV Reader Benchmarks: Julia Reads CSVs 10-20x Faster tha...
by mlthoughts2018 on Monday October 12, 2020 @06:08PM
(#24760002)
Cython is a superset of Python. If it’s valid Python, it’s valid Cython. Cython supports the full range of Exceptions and Python stack traces, and you can annotate on a per-function basis whether you want this in Cython.
Managing Cython implementations as separate extension modules is a feature, not a bug - it separates concerns and allows only spending any effort on type system constructs in the small amount of cases where those optimizations will help you.
Cython is extremely easy to compile and standard Python packaging tools work easily with it out of the box, conda included.
For example, there are efforts to write a pure BLAS in Julia that is still performant [1]. If you are into numerical computing, you will quickly understand this is crazy cool.
A consequence of that is composability. Most libraries are pure Julia, small, and play nicely with each other.
[1] https://discourse.julialang.org/t/11634