Evaluate mmap
alugowski opened this issue · 2 comments
alugowski commented
FMM currently employs a single-pass method that effectively only uses fread()
. This is fast, very flexible for integration, and has a fixed memory overhead for the loader itself. However it may leave some performance on the table on systems capable of parallel IO.
See PIGO which mmap()
s the input file, scans it fully once to find line counts, then reads it.
mmap()
does not apply to many situations that FMM currently handles, but may be useful as an option for cases where it does.
alugowski commented
Get fileno from ifstream (gcc only): https://www.ginac.de/~kreckel/fileno/