FLINT3.7.0-dev

BLOCK_SIZE, QS_L1_BITS, QS_L1_SIZE, QS_SMALL_BOUND

Synopsis#include <flint/qsieve.h>
BLOCK_SIZEsource
QS_L1_BITSsource
QS_L1_SIZEsource
QS_SMALL_BOUNDsource

The sieve interval is processed in blocks of BLOCK_SIZE (2^{19}) bytes, which fit in the L2 cache. Within a block, the primes below QS_SMALL_BOUND (4096), which hit it many times, are sieved over sub-blocks of QS_L1_SIZE (2^{15}) bytes, which fit in the L1 cache, and the primes up to BLOCK_SIZE directly over the block. The primes above BLOCK_SIZE hit a block at most a few times and are handled by a bucket sieve once per polynomial.

Cite this page

The FLINT team, “BLOCK_SIZE, QS_L1_BITS, QS_L1_SIZE, QS_SMALL_BOUND (qsieve.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/qsieve/BLOCK_SIZE.html (generated 2026-10-20).