( AszaltSzilva | 2020. 03. 25., sze - 23:11 )

Ha már Python, akkor inkább Python3, és fel lehet használni a nyelv adottságait. Eredeti adatok egy Chromebook-on 

2923363.5 millsec
Result:  3.1415923202563736

Míg kihasználva a list comprehension-t, más alapvető változtatás nélkül (és még indentálni sem kellett!) :

import time
t0= time.time() * 1000000
result = sum(1.0/(2.0*n+1.0) for n in range(0,3000000,2)) - sum(1.0/(2.0*n+1.0) for n in range(1,3000000,2))
print(time.time()*1000000 - t0, 'millsec')
print('Result: ', 4.0 * result)

ekkor a futási idő közel az eredeti kétharmada. (Amin még pár százalékot lehet faragni, egy függvénybe tesszük az egészet és azt hívjuk meg - lokális, globális változók közti különbség.) Persze vannak további trükkök is, de most kiegészítők nélkül játszunk, ha jól értem.

2007017.25 millsec
Result:  3.1415923202541034