primesieve-7.3
primesieve-7.3 improves the cache efficiency of the sieving algorithm for large sieving primes. By using aligned memory it is possible to reduce the number of pointer indirections which reduces cache pollution. I have measured a speed up of 15% near 1e18 and a speed up of 25% near 1e19.
- EratBig.cpp: Improve cache efficiency.
- MemoryPoop.cpp: Allocate buckets aligned by
sizeof(Bucket). - Bucket.hpp:
sizeof(Bucket)is now a power of 2. - primesieve::iterator: Support C++ move semantics.
- cmdoptions.cpp: Fix array out of bounds bug.
- CpuInfo.cpp: Fix MinGW/MSYS2
-Wcast-function-typewarning.