Bill Allombert on Fri, 10 Jul 2009 19:42:18 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Pari Slowdown? |
On Thu, Jul 09, 2009 at 04:20:17PM +0100, Jason Moxham wrote: >> On Sun, Jun 28, 2009 at 09:16:30PM +0200, Bill Allombert wrote: >>> On Sun, Jun 28, 2009 at 01:02:57AM +0100, Jason Moxham wrote: >>> > Hi >>> > >>> > Doing some very rough benchmarks of Pari on 64bit linux with GMP >>> > pari-2.4.2-alpha >>> > ? gettime() ; isprime(2^127-1,2);gettime() >>> > %3 = 4 >>> > ? gettime() ; isprime(2^521-1,2);gettime() >>> > %4 = 332 >>> > ? gettime() ; isprime(2^607-1,2);gettime() >>> > %5 = 857 >>> > ? gettime() ; isprime(2^1279-1,2);gettime() >>> > %6 = 9845 >>> > >>> > pari-svn >>> > ? gettime() ; isprime(2^127-1,2) ; gettime() >>> > %1 = 8 >>> > ? gettime() ; isprime(2^521-1,2) ; gettime() >>> > %2 = 420 >>> > ? gettime() ; isprime(2^607-1,2) ; gettime() >>> > %3 = 1108 >>> > ? gettime() ; isprime(2^1279-1,2) ; gettime() >>> > %4 = 12885 >>> > >>> > >>> > This is all on the same machine with gcc-4.2.2,MPIR-1.2.1, nehalem >>> > 2.6Ghz >>> > >>> > I tried make tune , but it didn't make any significant difference. >>> >>> Thanks, this is a slowdown caused by this change: >>> >>> BA 35- direct implementation of ZX_mul, ZX_sqr using Kronecker's >>> trick + mul >>> >>> We really need to tune ZX_mul and ZX_sqr. >> >> However, there might be a problem with GMP itself (or the GMP kernel): >> >> for(i=1,20,a=random(2^(100000+10000*i));gettime();for(j=1,1000,a^2);print(i,":",gettime())) >> 1:745 >> 2:849 >> 3:925 >> 4:1028 >> 5:1156 >> 6:1248 >> 7:1372 >> 8:1485 >> 9:1569 >> 10:1740 >> 11:1825 >> 12:1945 >> 13:1408 >> 14:1409 >> 15:1624 >> 16:1625 >> 17:1629 >> 18:1624 >> 19:1969 >> 20:1965 >> >> entry 12 is much slower than entry 13. > > Depending on cpu and limb size your at about the FFT range , which is > well known for timings that don't smoothly increase. Sure, but this is a case of sharply decreasing :) Cheers, Bill.