Bill Allombert on Sun, 11 Jan 2004 13:16:18 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Flx_sqr/sqri comparaison |
Hello PARI-dev, I have made some timing of Flx_sqr and sqri Here the file: --------------------- install(Flx_sqr,GL); V=vectorsmall(4000,i,random(17)); N=random(2^128000); { print (i,"\t: pol\t|\t int"); for(i=1,16, N=random(2^(32*2^i)); V=vectorsmall(2^i,i,random(17)); gettime(); for(j=1,2^(16-i),Flx_sqr(V,17)); tpol=gettime(); for(j=1,2^(16-i),sqr(N)); tint=gettime(); print (i,"\t: ",tpol,"\t|\t",tint); ); } --------------------- Result with PARI kernel: i : pol | PARI | GMP 1 : 120 | 80 | 90 2 : 80 | 50 | 60 3 : 80 | 40 | 40 4 : 90 | 30 | 60 5 : 130 | 60 | 70 6 : 190 | 110 | 110 7 : 300 | 140 | 150 8 : 460 | 210 | 280 9 : 700 | 320 | 370 10 : 1060 | 500 | 550 11 : 1620 | 750 | 800 12 : 2450 | 1130 | 1010 13 : 3690 | 1740 | 1030 14 : 5600 | 2580 | 1200 15 : 8420 | 3910 | 1290 16 : 12670 | 5890 | 1600 2 conclusions: 1) Flx_sqr is much slower than sqri 2) GMP is faster only over 2000 words which is much more than I was expecting. I suspect 1) is because Flx_sqr make much more modulo operations than what is required. I suspect 2) is due to my test machine. I have a plan to reuse GMP fast multiplication in Flx_sqr. Cheers, Bill.