From 75d42cf0d513d7fc57e62ad25dc6b9bc33940f9c Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Sat, 3 Jan 2026 00:38:39 +0000 Subject: [PATCH] README and screenshot. --- README.md | 4 ++++ docs/v2stat.webp | Bin 0 -> 10752 bytes 2 files changed, 4 insertions(+) create mode 100644 docs/v2stat.webp diff --git a/README.md b/README.md index ac6f3ed..89b7d23 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ # The World's Fastest Random Generator v2 +![RandQuik v2 Benchmark Stats](https://github.com/LeoVasanko/RandQuik/raw/main/docs/v2stat.webp) +*RandQuik running at full speed on a Macbook laptop, writing /dev/null.* + I was disappointed with the sad state of random number generators. Many languages don't ship anything useful and some are stuck with whatever the OS provides. Most existing implementations are slow, often maxing out at a few hundred megabytes per second, which becomes a real bottleneck in high-throughput systems. Secondly, [flaws have been found](https://numpy.org/doc/stable/reference/random/upgrading-pcg64.html) in popular non-cryptographic algorithms such as Mersenne Twister and PCG-style generators. These issues range from detectable structure to repeating sequences, making them unsuitable for serious or long-running workloads. + The cryptographic alternative is simply better. Proper CSPRNGs avoid these pitfalls entirely and, on modern hardware, can now be *faster* than legacy non-cryptographic designs. There is little reason left to accept weaker guarantees for worse performance. This version uses **AEGIS**, a modern authenticated encryption primitive that leverages AES hardware acceleration. AEGIS provides extremely high throughput while retaining strong cryptographic properties, significantly outperforming our legacy implementation and serving as an ideal foundation for a high-performance CSPRNG. diff --git a/docs/v2stat.webp b/docs/v2stat.webp new file mode 100644 index 0000000000000000000000000000000000000000..43d7a775b1c2e5990a55ff771229cc82b0f83662 GIT binary patch literal 10752 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 XzQLP$rqMIgBX