Frank Millman, 22.07.2011 08:06:
I mentioned in a recent post that I noticed an inconsistency in timeit, and
then reported that I must have made a mistake.

I have now identified my problem, but I don't understand it.

C:\Python32\Lib>timeit.py "int(float('165.0'))"
100000 loops, best of 3: 3.52 usec per loop

C:\Python32\Lib>timeit.py "int(float('165.0'))"
100000 loops, best of 3: 3.51 usec per loop

C:\Python32\Lib>timeit.py 'int(float("165.0"))'
10000000 loops, best of 3: 0.0888 usec per loop

C:\Python32\Lib>timeit.py 'int(float("165.0"))'
10000000 loops, best of 3: 0.0887 usec per loop

I ran them both twice just to be sure.

The first two use double-quote marks to surround the statement, and
single-quote marks to surround the literal inside the statement.

The second two swap the quote marks around.

Can someone explain the difference?

I am using python 3.2 on Windows Server 2003.

As expected, I can't reproduce this (on Linux). Maybe your processor switched from power save mode to performance mode right after running the test a second time? Or maybe you need a better console application that handles quotes in a more obvious way?

Note that it's common to run timeit like this: "python -m timeit".

Stefan

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to