How to make Python run as fast (or faster) than Julia

Antoon Pardon antoon.pardon at vub.be
Mon Feb 26 07:28:41 EST 2018


On 24-02-18 06:18, Terry Reedy wrote:
> On 2/23/2018 11:32 AM, Python wrote:
>>
>> Doing that would completely fail to accomplish the task of comparing
>> the performance of recursive function calls in the two languages,
>> which is what the benchmark was designed to do.
>
> That is an non goal because *languages* do not have clock-time speeds,
> only programs written in concrete implementations run on real hardware.
>
> Why do you think it fair to compare function call times using the
> slowest rather than the fastest implementation of Python function
> calls?  Real Python programmers who are seriously concerned about time
> try to use the fastest implementation appropriate to the situation.

If the slowest happens to be the standard implementation I see nothing wrong with it.

>
> >  So, no actually, it shouldn't.
>
> To me, it is 'not using the fasted Python' that fails to make apples
> to apples comparisons.
>
> It has been said here that comparisons should use the same algorithm
> doing the much the same work in both implementation.  However, a
> Python function call does *much more work* than in most languages,
> because the meaning of 'function call' is much more flexible in Python
> than most languages.

So? I don't see what is wrong when is pointed out that all that extra
work, that a lot of people don't care about
is costing performance.

> The usual comparison is like lemons (other language calls) to oranges
> (Python language calls, much more flexible).  To be fair, the
> comparison should be to a Python implementation that either notices or
> accepts a declaration that, for instance, fib(n) only needs to pass an
> int by position.
>
> Comparing int addition to python object addition also compares unlike
> operations.  To compare using the same addition algorithm, one must
> use an implementation that can restrict '+' to just int addition.

I don't agree, if the performance loss comes from the standard implementation
of the language unable of doing that then people testing languages shouldn't
be burdened with going to search for some implementation that can.

-- 
Antoon Pardon





More information about the Python-list mailing list