ottengo i seguenti risultati sulla mia macchina:Perché math.factorial è molto più lento in Python 2.x rispetto a 3.x?
Python 3.2.2 (default, Sep 4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.timeit('factorial(10000)', 'from math import factorial', number=100)
1.9785256226699202
>>>
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.timeit('factorial(10000)', 'from math import factorial', number=100)
9.403801111593792
>>>
Ho pensato che questo potrebbe avere qualcosa a che fare con lunghi conversione int /, ma factorial(10000L)
non è più veloce a 2.7.
10.000! - ti rendi conto di quanto sia grande quel numero? http://gimbo.org.uk/texts/ten_thousand_factorial.txt – duffymo
@duffymo Questo non spiega la differenza di velocità –
Non sto cercando di spiegarlo. Mi sto solo chiedendo se l'OP è a conoscenza, tutto qui. la conversione int/long non sembra rilevante. Dov'è la tua risposta, isbadawi? – duffymo