Comment by RainyDayTmrw
6 days ago
When do people both want (PRNG performance is a measurable fraction of total program performance) and can use (no security constraints) an extremely fast PRNG?
6 days ago
When do people both want (PRNG performance is a measurable fraction of total program performance) and can use (no security constraints) an extremely fast PRNG?
It's common in graphics and audio programming. In audio, maybe you're synthesizing noise or any of the myriad synthesis techniques that require noise. In graphics you have lighting, textures, etc that can use this. And when you're doing something every audio sample or every pixel, "extremely fast" is desirable. The question of whether to use a pre-rendered lookup table or a fast algorithm often comes up (and has no universal answer... though I always go for the latter)
That seems like it would be well served by deterministic dithering. (The terminology is not precise, but I'm not sure what else to call it.)
For graphics you probably want a quasirandom https://en.m.wikipedia.org/wiki/Low-discrepancy_sequence
A purely random function can lead to clumping and aliasing.
Monte Carlo simulations would be the obvious example.
Benchmarking. fio and iperf
Path tracing