[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