[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