------------------------------------------------------------------- Sat May 17 08:59:00 UTC 2025 - Kim Walisch - Update to primesieve-12.9 - CMakeLists.txt: Speed up build by removing compile dependencies - Move private header files from /include to /src - src/CMakeLists.txt: Update for private header files in /src - test/CMakeLists.txt: Update for private header files in /src - Vector.hpp: Get rid of std::is_trivial which is deprecated in C++26 ------------------------------------------------------------------- Mon Apr 14 06:30:00 UTC 2025 - Kim Walisch - Update to primesieve-12.8 - Vectorize primesieve::iterator.prev_prime() using AVX512 - api.cpp: Tune sieve array size - PreSieve.cpp: Simplify SIMD code - PreSieve_default.hpp: New algorithm that is also fast using -Os and -O2 - PreSieve_arm_neon.hpp: New file, contains ARM NEON algorithm - PreSieve_arm_sve.hpp: New file, contains ARM SVE algorithm - PreSieve_x86_avx512.hpp: New file, contains AVX512 algorithm - PreSieve_x86_sse2.hpp: New file, contains SSE2 algorithm - ci/benchmark.yaml: Add CI test to detect performance regressions - README.md: Fix Markdown math formula - README.md: Add stress testing section - C_API.md: Fix Markdown math formula - CPP_API.md: Fix Markdown math formula ------------------------------------------------------------------- Sun Mar 02 13:20:00 UTC 2025 - Kim Walisch - Update to primesieve-12.7 - multiarch_sve_arm.cmake: Improve ARM SVE detection - src/arch/arm/sve.cpp: Detect ARM SVE on Linux and Windows - EratBig.cpp: Simplify bucket handling - Erat.cpp: Tune sieve size using FACTOR_SIEVESIZE ------------------------------------------------------------------- Sun Nov 17 14:30:00 UTC 2024 - Kim Walisch - Update to primesieve-12.6 - Add AVX512 and ARM SVE pre-sieving ------------------------------------------------------------------- Sat Oct 26 07:15:00 UTC 2024 - Kim Walisch - Update to primesieve-12.5 - Improve thread load balancing for large number of CPU cores ------------------------------------------------------------------- Thu Aug 01 15:50:00 UTC 2024 - Kim Walisch - Update to primesieve-12.4 - Move x86 CPUID code from cpuid.hpp to src/x86/cpuid.cpp - multiarch_x86_popcnt.cmake: Detect x86 POPCNT support - CMakeLists.txt: Use CMake list for all compile time definitions - CMakeLists.txt: Use CMake list for all link libraries ------------------------------------------------------------------- Wed Apr 17 14:55:00 UTC 2024 - Kim Walisch - Update to primesieve-12.3 - Add runtime POPCNT detection using CPUID for x86 CPUs - Improve GCC/Clang multiarch preprocessor logic - CMakeLists.txt: Remove POPCNT/BMI check for x86 CPUs ------------------------------------------------------------------- Tue Mar 12 09:50:00 UTC 2024 - Kim Walisch - Update to primesieve-12.1 - CMakeLists.txt: Fix undefined reference to pthread_create - Fix -ffast-math failure of --test option - Fix musl libc issue in unit tests - Improve status output ------------------------------------------------------------------- Mon Feb 19 15:05:00 UTC 2024 - Kim Walisch - Update to primesieve-12.0 - New -S and --stress-test[=MODE] command-line options. - New --timeout=SECS option for stress testing. - New -R && --RiemannR command line options. - New --RiemannR-inverse command line option. - Faster Riemann R function implementation. - Improve command-line option handling. ------------------------------------------------------------------- Thu Jan 11 17:30:00 UTC 2024 - Kim Walisch - Update to primesieve-11.2 - Fix CMake libatomic detection - Improved nth prime algorithm - Fix off by 1 error in OpenMP example in C_API.md - Fix off by 1 error in OpenMP example in CPP_API.md ------------------------------------------------------------------- Sat May 13 08:05:00 UTC 2023 - Kim Walisch - Update to primesieve-11.1 - Vectorized pre-sieving algorithm using x64 SSE2 and ARM NEON - Added POPCNT algorithm for x64 & AArch64 - Fix -Wstrict-prototypes warnings ------------------------------------------------------------------- Wed Dec 07 10:40:00 UTC 2022 - Kim Walisch - Update to primesieve-11.0 - primesieve version now match libprimesieve version (.so version) - Added new primesieve::iterator::jump_to() method (C++ API) - Added new primesieve_jump_to() function (C API) - Mark primesieve_skipto() as deprecated - Fix use after free in primesieve::iterator::clear() - Fix use after free in primesieve_iterator_clear() - Fix potential memory leak in malloc_vector.hpp ------------------------------------------------------------------- Thu July 07 09:00:00 UTC 2022 - Kim Walisch - Update to primesieve-8.0 - Added multiarch support (POPCNT, BMI2, AVX512) for x64 CPUs - Generating an array (or vector) of primes is up to 20% faster - Main CMakeLists.txt has been split up into multiple modules - Improved documentation of C & C++ APIs ------------------------------------------------------------------- Tue May 03 11:25:00 UTC 2022 - Kim Walisch - Update to primesieve-7.9 - Reduced memory usage and faster initialization - Reduced branch mispredictions by up to 30% - Improved nth prime approximation - Increase max sieve array size to 8 KiB ------------------------------------------------------------------- Sun Jan 30 12:08:00 UTC 2022 - Kim Walisch - Update to primesieve-7.8 - Improved pre-sieving, up to 10% speedup - Improved primesieve::iterator, up to 15% speedup - C++ refactoring: get rid of using namespace std ------------------------------------------------------------------- Tue Dec 7 15:57:00 UTC 2021 - Kim Walisch - Fix issues with big.LITTLE CPUs e.g. Intel Alder Lake - Improved C API error messages - Improved C/C++ API documentation ------------------------------------------------------------------- Fri Jan 8 15:00:02 UTC 2021 - Kim Walisch - Update to primesieve-7.6 ------------------------------------------------------------------- Mon Jan 6 10:39:00 UTC 2020 - Kim Walisch - Update to primesieve-7.5 ------------------------------------------------------------------- Wed May 1 11:15:40 UTC 2019 - Jan Engelhardt - Trim subjective parts from description. ------------------------------------------------------------------- Tue Apr 30 15:23:14 UTC 2019 - Kim Walisch - Fix review issues - Fix rpmlint warnings - Convert Fedora spec file to openSUSE format