Arithmetic without limitations?

Torbjorn Granlund tg at
Mon Feb 15 09:03:54 CET 2010

Joerg Arndt <arndt at> writes:

  Also multi-threading is very advantageous
  for speed, even for single core CPUs.  Not sure all or even any of
  this has to be in GMP (nonwithstanding the coolness factor).
Why would one want multi-threading for single-code CPUs?

An efficient disk-based computation would need to do timely
"prefetching" from the disk, asking for the data for the next
computation step.  It needs to make sure to leave enough space to store
that input in RAM, while still working on a different part of the

Likewise, it needs to write intermediate results to disk.

There is a suitable set of functions for this, aio_*.  We could manage
these from the the single computation thread

Unfortunately, there seem to be no portable ways of doing what we need
when dealing with swap space.  There is posix_madvise, but its
MADV_WILLNEED is not powerful enough.


More information about the gmp-devel mailing list