Date: Sun, 30 Mar 2025 11:30:17 -0400
On Sunday, 30 March 2025 10:20:08 Eastern Daylight Time Bjorn Reese via Std-
Proposals wrote:
> On 3/30/25 05:41, Thiago Macieira via Std-Proposals wrote:
> > A gotcha with this is that std::mt19937, which is required by the standard
> > to use uint_fast32_t, is actually twice as big as it needs to be.
>
> That seems to apply to all random engines, including the new philox
> engine.
Good point. Though for all others, the size increase is not a big deal.
Ranlux24 is probably the next one, going from 116 to 216 bytes (2 cachelines t
4). But nothing like MT19937 which goes from ~2500 bytes to ~5000 (40
cachelines to 80, across two pages).
In fact, in both cases, the 64-bit versions (mt19937_64 and ranlux48) are
smaller and most likely faster.
Proposals wrote:
> On 3/30/25 05:41, Thiago Macieira via Std-Proposals wrote:
> > A gotcha with this is that std::mt19937, which is required by the standard
> > to use uint_fast32_t, is actually twice as big as it needs to be.
>
> That seems to apply to all random engines, including the new philox
> engine.
Good point. Though for all others, the size increase is not a big deal.
Ranlux24 is probably the next one, going from 116 to 216 bytes (2 cachelines t
4). But nothing like MT19937 which goes from ~2500 bytes to ~5000 (40
cachelines to 80, across two pages).
In fact, in both cases, the 64-bit versions (mt19937_64 and ranlux48) are
smaller and most likely faster.
-- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Principal Engineer - Intel DCAI Platform & System Engineering
Received on 2025-03-30 15:30:22