[issue9980] str(float) failure

Stefan Krah report at bugs.python.org
Thu Sep 30 16:10:39 CEST 2010


Stefan Krah <stefan-usenet at bytereef.org> added the comment:

On an older Celeron platform the differences are up to 7%, but again,
the number that is converted has a far greater impact:


None:
=====

>>> s = "str(38210.0)"
>>> t = timeit.Timer(stmt=s)
>>> 
>>> t.timeit(number=1000000)
3.277189016342163
>>> t.timeit(number=1000000)
3.293405055999756
>>> t.timeit(number=1000000)
3.302845001220703
>>> 
>>> s = "str(1.31232223e300)"
>>> t = timeit.Timer(stmt=s)
>>> 
>>> t.timeit(number=1000000)
5.678447008132935
>>> t.timeit(number=1000000)
5.695156097412109
>>> t.timeit(number=1000000)
5.690100193023682


fnstcw only:
============

>>> s = "str(38210.0)"
>>> t = timeit.Timer(stmt=s)
>>> 
>>> t.timeit(number=1000000)
3.3676700592041016
>>> t.timeit(number=1000000)
3.339860200881958
>>> t.timeit(number=1000000)
3.365180015563965
>>> 
>>> s = "str(1.31232223e300)"
>>> t = timeit.Timer(stmt=s)
>>> 
>>> t.timeit(number=1000000)
5.869584798812866
>>> t.timeit(number=1000000)
5.8620688915252686
>>> t.timeit(number=1000000)
5.882143020629883
>>> 


fnstcw/fldcw:
=============

>>> s = "str(38210.0)"
>>> t = timeit.Timer(stmt=s)
>>> 
>>> t.timeit(number=1000000)
3.5034677982330322
>>> t.timeit(number=1000000)
3.496767044067383
>>> t.timeit(number=1000000)
3.5118331909179688
>>> 
>>> s = "str(1.31232223e300)"
>>> t = timeit.Timer(stmt=s)
>>> 
>>> t.timeit(number=1000000)
5.808370113372803
>>> t.timeit(number=1000000)
5.80784010887146
>>> t.timeit(number=1000000)
5.837070941925049
>>>

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9980>
_______________________________________


More information about the Python-bugs-list mailing list