mpn_sqr speed

Torbjörn Granlund tg at gmplib.org
Tue Feb 13 11:27:48 UTC 2018


Win C <winsto003 at hotmail.com> writes:

  This is the result of the speed program for comparison of squaring methods, run on an ARM CPU.
  
  ./speed -s 1,2,4,8,16,32,64,128,256,1024,2048,4096,8192,16384,32768,65536 mpn_sqr mpn_mul_fft_sqr
  WARNING: linker: ./speed has text relocations. This is wasting memory and prevents security hardening. Please fix.
  overhead 0.000000007 secs, precision 10000 units of 1.00e-09 secs, CPU freq 1600.00 MHz
                mpn_sqr mpn_mul_fft_sqr
  1        #0.000000041   0.000041769
  2        #0.000000047   0.000042115
  4        #0.000000087   0.000042461
  8        #0.000000242   0.000042769
  16       #0.000000673   0.000043115
  32       #0.000002200   0.000044807
  64       #0.000007097   0.000053230
  128      #0.000021769   0.000065808
  256      #0.000063269   0.000093308
  1024      0.000452731  #0.000352000
  2048      0.001192230  #0.000786615
  4096      0.002319538  #0.001268731
  8192      0.005638807  #0.002916500
  16384     0.012794616  #0.006857692
  32768     0.029267846  #0.015556808
  65536     0.068601077  #0.038244577
  
  As shown the results above, using a specific function to do squaring is even faster than than the external function of mpn_sqr(). Why is it so? And how to change the mpn/generic/sqr.c file to fix this? Thanks!

These timings don't say much; mpn_mul_fft_sqr does not perform the same
operation as mpn_sqr.
  

-- 
Torbjörn
Please encrypt, key id 0xC8601622


More information about the gmp-discuss mailing list