On Fri, Jul 13, 2018 at 10:10:00AM +0200, Jeroen Demeyer wrote: > On 2018-07-12 20:11, Steven D'Aprano wrote: > >about 4.7 seconds to test 2**800 + 1; > > In SageMath: > > sage: n = 2**800+1; timeit('is_prime(n)') > 625 loops, best of 3: 303 µs per loop > > That's 4 orders of magnitude faster...
Go on, rub it in why don't you... I'm pretty sure that Sage is using numpy, which would almost certainly have a C-based implementation, not pure Python like mine. And it's probably making far less conservative choices about the rate of false positives it is willing to accept. And your computer is probably newer and faster than mine :-( My point was that for casual use, even the bad cases are still fast enough for interactive use. If you think 5 seconds is ridiculously slow, you've never tried a naive trial division algorithm that took literally days to crawl through the millions of divisions needed. *wink* -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/