DualMix128 – A fast, simple PRNG passing PractRand (32TB) and BigCrush
Hi HN, I'd like to share DualMix128, a pseudo-random number generator I developed. It's written in C and achieves very high speed while maintaining strong statistical properties for non-cryptographic use. GitHub (MIT License): https://github.com/the-othernet/DualMix128 Key points: * *Fast:* Benchmarked at ~0.36 ns per 64-bit generation on GCC 11.4 (-O3 -march=native). This was over 2x faster than `xoroshiro128++` (~0.74 ns) and competitive with `wyrand` (~0.36 ns) in the same tests. (Benchmark code/results in repo). * *Robust:* Passes the full TestU01 BigCrush suite…
What it does
In the maker’s words, at launch
Hi HN, I'd like to share DualMix128, a pseudo-random number generator I developed. It's written in C and achieves very high speed while maintaining strong statistical properties for non-cryptographic use. GitHub (MIT License): https://github.com/the-othernet/DualMix128 Key points: * *Fast:* Benchmarked at ~0.36 ns per 64-bit generation on GCC 11.4 (-O3 -march=native). This was over 2x faster than `xoroshiro128++` (~0.74 ns) and competitive with `wyrand` (~0.36 ns) in the same tests. (Benchmark code/results in repo). * *Robust:* Passes the full TestU01 BigCrush suite and PractRand up to 32TB with no anomalies reported. (Test harnesses/logs in repo). * *Simple Algorithm:* Uses a 128-bit state (two `uint64_t`) with simple mixing based on addition, XOR, rotation, and a final multiplication by the golden ratio constant. * *C Implementation:* Minimal dependencies (`stdint.h` for core), straightforward C code. This came out of exploring simple constructions for efficient PRNGs that still hold up under heavy statistical testing. Curious to hear feedback on the design, performance, potential applications, or any weaknesses you might spot. Thanks!
Does the same job
all alternatives →- MWMy weekend project, QR-codes for everybody2011 · lilqr.com · ▲203
I wanted QR codes to be really simple to implement everywhere and for everyone. So I spent some time on my weekends trying to write a fast QR generator module for Apache, and here are the results: ab -n 5000 -c 100 http://lilqr.com/qr Requests per second: 4301.78 [#/sec] (mean)
- NCNanosecond C message logger2019 · ▲131
Hello, Some time ago I did a data logger for fun, just to check if I could beat the performance of an old C++ project of mine (mini-async-log) and to avoid letting my multithreading-C skills rust when on a non-programming gig (using Yocto/OE, very little programming). This project is a BSD licensed, producer-wait-free (when using thread-local storage) generic message logger with high performance, decent test coverage, and type-safe C strings (requires C11 or C++ compiler). It was a shame to let this project to die unknown, as I think that it has potential to be used on some niches as…
- CB"crzy64", base64 mod aimed for fastest decoding2021 · github.com · ▲47
- FAfcp – A significantly faster alternative to cp(1), written in Rust2021 · github.com · ▲88
- SASuperString – A fast and memory-optimized string library for C++2018 · github.com · ▲52
- HIHellepoll is a blazingly-fast async HTTP server written in C++2011 · github.com · ▲35
This is based on an approach I made for a very high performance message and video multiplexing server. The project died, but I'm glad I get to share the a basic version with some http test code now. I admit this is the second time I've tried to show this off here today; I posted earlier but it got lost when no-one was watching :(
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Launched alongside, May 2025
the whole month →
- C9
Life & fun · 2025 · felixrieseberg.github.io



