3 ms·
Red herring perhaps - seems due to the inplace add. It's quicker yet if you take out the multiple assigment: $ for STMT in "a2, c = a2+c, c+2" "a2 += c; c
by Ysx 8y ago
Red herring perhaps - seems due to the inplace add. It's quicker yet if you take out the multiple assigment:
$ for STMT in "a2, c = a2+c, c+2" "a2 += c; c += 2" "a2 = a2+c; c = c+2"; do
echo \[$(python3 -m timeit "a2 = 1; c = 1; $STMT")\] $STMT
done | sort -n
[... 0.0547 usec per loop] a2 = a2+c; c = c+2
[... 0.0569 usec per loop] a2, c = a2+c, c+2
[... 0.0608 usec per loop] a2 += c; c += 2
- ColinWright 8y agoYou're using python3. My brief experiments showed it actually ran faster in python2. You might want to re-run your experiments to see if I've done anything stupid with that test. But definitely it seemed that python2 and python3 had significantly different performance.
- Ysx 8y agoOh you're right, that's interesting - have replicated your result. "a2 = a2+c; c = c+2" is still fastest on both 2 and 3, though don't know enough to say why.
- joshuamorton 8y agoTry python 3.7, iirc it should be faster again