[Python-ideas] INSANE FLOAT PERFORMANCE!!!
Terry Reedy
tjreedy at udel.edu
Tue Oct 11 22:59:01 EDT 2016
On 10/11/2016 2:30 PM, Paul Moore wrote:
> On 11 October 2016 at 17:49, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> On 12 October 2016 at 02:16, Elliot Gorokhovsky
>> <elliot.gorokhovsky at gmail.com> wrote:
>>> So I thought, wow, this will give some nice numbers! But I underestimated
>>> the power of this optimization. You have no idea. It's crazy.
>>> This is just insane. This is crazy.
>>
>> Not to take away from the potential for speed improvements (which do
>> indeed seem interesting), but I'd ask that folks avoid using mental
>> health terms to describe test results that we find unbelievable. There
>> are plenty of other adjectives we can use, and a text-based medium
>> like email gives us a chance to proofread our posts before we send
>> them.
>
> I'd also suggest toning down the rhetoric a bit (all-caps title, "the
> contents of this message may be dangerous for readers with heart
> conditions" etc.
I triple the motion. In general, all caps = spam or worse and I usually
don't even open such posts. Elliot, to me, all caps means IGNORE ME. I
suspect this is not what you want.
> Your results do seem good, but it's a little hard to
> work out what you actually did, and how your results were produced,
> through the hype. It'll be much better when someone else has a means
> to reproduce your results to confirm them. In all honestly, people
> have been working on Python's performance for a long time now, and I'm
> more inclined to think that a 50% speedup is a mistake rather than an
> opportunity that's been missed for all that time. I'd be happy to be
> proved wrong, but for now I'm skeptical.
I'm not, in the same sense, even though Elliot suggested that we should
be ;-). His key insight is that if all members of a list have the same
type (which is a common 'special case'), then we can replace the
general, somewhat convoluted, rich-comparison function, containing at
least two type checks, with a faster special-case comparison function
without any type checks. Since Python floats wrap machine doubles, I
expect that float may have the greatest speedup.
> Please continue working on this - I'd love my skepticism to be proved wrong!
It may be the case now that sorting a list of all floats is faster than
a mixed list of ints and floats. I expect that it definitely will be
with a float comparison function.
--
Terry Jan Reedy
More information about the Python-ideas
mailing list