From: Mark Dickinson Date: Sun, 16 May 2010 08:39:09 +0000 (+0000) Subject: Blocked revisions 81196 via svnmerge X-Git-Tag: v3.1.3rc1~757 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d05f93da316e634aa2369e856fb04bf03fe39802;p=python Blocked revisions 81196 via svnmerge ........ r81196 | mark.dickinson | 2010-05-15 18:02:38 +0100 (Sat, 15 May 2010) | 13 lines Issue #8692: Improve performance of math.factorial: (1) use a different algorithm that roughly halves the total number of multiplications required and results in more balanced multiplications (2) use a lookup table for small arguments (3) fast accumulation of products in C integer arithmetic rather than PyLong arithmetic when possible. Typical speedup, from unscientific testing on a 64-bit laptop, is 4.5x to 6.5x for arguments in the range 100 - 10000. Patch by Daniel Stutzbach; extensive reviews by Alexander Belopolsky. ........ ---