Hacker News new | ask | show | jobs
by noptd 1128 days ago
Considering there's been data and benchmarks provided to support the argument that the performance improvements have been substantial, can you provide any evidence to support your argument against it?

Otherwise, your argument isn't very compelling, especially after having admitted that you haven't even used Python in ways that would warrant any assessment of performance for those use cases.

2 comments

Stop interpreting sane evaluations of the speed of a language's implementation as an attack.

The evidence that Python is still slow is abundant and overwhelming. It's not like it's a subtle thing. It's a huge gulf. If you don't understand this, the problem isn't that jerf on Hacker News didn't spell it out to your satisfaction; the problem is that you are not evaluating things calmly and sensibly from an engineering perspective, but are using your political brain to evaluate programming languages. Until you stop doing that, you will never understand what is going on; once you do stop doing that, the truth will be so obvious you won't need me to spell it out for you.

The largest number I have seen for microbenchmarks is around 50% speedup in comparison to the last version before this project started.

So, if that version was 40x slower than C (and that is very optimistic), the latest version is still 30x slower. That is the point that the GP made.

I would not call that substantial at all. I'd prefer to keep the CPython interpreter simple, people who want faster Python can use pypy or other things.

The real work in scientific Python will always be done in C or CUDA extensions. No 50% speedup will change anything.

Immaterial to the substance of your point but a 50% speed-up is an improvement from 40x to 20x, not to 30x.

        X’  X’/Y   X’/Y
  0.5 = – = –––– = –––– 
        X   X/Y     40

        X’
    =>  – = 20
        Y
Depends on how you define speed-up. This is the most natural definition for me:

As a baseline, my code can do 100 operations / second.

With 50% speedup (+50%), my code can do 150 operations / second.

If C was 40x faster than the baseline, it could do 4000 operations / second. After the speedup C can still do 27x as many operations per second. (4000/150 = 26.66..)

Well, that’s true. The good old miles per gallon vs. liters per 100 kilometers conundrum.