GMP 4.3 multiplication performance

Torbjorn Granlund tg at gmplib.org
Wed Jun 3 12:11:14 CEST 2009


nisse at lysator.liu.se (Niels Möller) writes:

  bodrato at mail.dm.unipi.it writes:
  
  > I do not know exactly... but mpn_submul_1 does write on memory only once,
  > that's why I prefer it.
  
  C-implementations of combination functions could use a strategy like
  in the current addsub: Use a small temporary area (a suitable fraction
  of the L1 cache, typically allocated on the stack), and do the
  combined operation blockwise with two (for sublsh_n) function calls
  per block.
  
  What are the costs and benefits of using the C implementation of
  addsub (it naturally varies with size, and the benefit should be zero
  if operands fit in the L1 cache).
  
  It would make the code so much easier to read if most or all calls to
  the combination functions could be done unconditionally. 
  
Unfortunately, my experience is that they become too slow in C.  The C
mpn_addsub_n is not a success.  We have to live with the #ifdef mess.

-- 
Torbjörn


More information about the gmp-devel mailing list