uzyskać następujące wyniki na moim komputerze:Dlaczego współczynnik math.factorial jest znacznie wolniejszy w Pythonie 2.x niż 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
>>>
myślałem, że to może mieć coś wspólnego z int/long nawrócenia, ale factorial(10000L)
nie jest szybciej w 2,7.
10 000! - czy zdajesz sobie sprawę, jak duża jest ta liczba? http://gimbo.org.uk/texts/ten_thousand_factorial.txt – duffymo
@duffymo To nie wyjaśnia różnicy prędkości. –
Nie próbuję tego wyjaśnić. Zastanawiam się tylko, czy OP jest świadomy, to wszystko. Int/długiej konwersji prawie nie wydaje się istotne. Gdzie jest twoja odpowiedź, isbadawi? – duffymo