On Fri, 23 Feb 2018 13:51:33 +0000, Ben Bacarisse wrote: [...] >> I don't know why the Julia programmers chose to use such a poor >> algorithm: > > It's odd indeed, but given that they did, what you take to be the point > of the article -- to write a good Python algorithm as fast as the > terrible Julia one -- seems a bit pointless.
Someone looking at the Julia benchmarks will look at the results and go, "Wow! Julia is so much faster than Python, I should choose to use Julia instead!". But guess what? The benchmarks are flawed. The performance of real-world Julia code doesn't match the performance of the benchmarks. "What’s disappointing is the striking difference between the claimed performance and the observed one. For example, a trivial hello world program in Julia runs ~27x slower than Python’s version and ~187x slower than the one in C." http://zverovich.net/2016/05/13/giving-up-on-julia.html Admittedly "Hello World" is not what *I* would call a real world program, but that's just an illustration of the discrepancy between the performance in artificial benchmarks and the performance in useful code. The benchmarks emphasise what Julia is good at, and use poor, unidiomatic Python code. People who are either too naive to know better, or who *do* know better but for some bizarre reason still take benchmarks at face value, believe them, and conclude that Julia is faster than Python. Not just a bit faster, but enough to conclude that Python is uncompetitive. Okay, so Julia is fast, at least for toy benchmarks, maybe or maybe not for actual code you care about. Great. Python is fast too, if you stop writing shitty code. The *FIRST* lesson in optimization is to re-write your crap implementation with a better algorithm. The point of the post is to teach that lesson. Stop writing crap code and then complaining that the language is "too slow". Write better code, and then we'll take your complaints seriously. Or, you never know, maybe you'll find it's fast enough and you don't actually have to abandon your existing code base and migrate to a whole new language. "Python takes hours to sort a million integers using BubbleSort! Its too damn slow!!!" "Why not use the built-in sort? That's fast." "NOOOOOO!!!! I MUST USE BUBBLESORT, BECAUSE REASONS!!!1!" *wink* -- Steve -- https://mail.python.org/mailman/listinfo/python-list