Stop gluing libraries.
Start shipping.
Ethereal is one C++20 library with 57+ modules for systems software: memory, concurrency, networking with its own TLS 1.3, cryptography, storage, Unicode 18, telemetry and machine learning. Zero third-party dependencies. Measured numbers, published limits.
Every C++ project pays for the glue. Ethereal removes it.
A logger from here, a TLS stack from there, a compression library, a Unicode library, a config parser, a key-value store. Each one with its own errors, its own allocator and its own release calendar. The glue between them is code nobody wanted to write.
A typical stack 10 libraries
- Ten error conventions and ten allocation models
- Ten release cycles and security feeds to follow
- Build scripts that break on the next compiler
- No real idea what each call costs
Ethereal 1 library
- One error convention across the modules
- No worker thread or singleton that starts on its own
- Modules you don't call never enter the binary
- Numbers and limits published for each module
57+ modules. One convention.
Use them together or one at a time. The SDK is a static library, so your binary only carries the modules your code calls.
Foundation
The base every other module builds on: platform, assertions, diagnostics, logging, memory, fixed-capacity structures, bits, strings, randomness, identifiers, type description and state machines. All of it always compiles.
platformversionassertdiagnosticslogmemorycontainersbits+512System & concurrency
Operating system, files, time, processes, plugins, threads, fibers and the policies that protect a call that can fail. None of these modules creates a thread the caller did not ask for.
systemfiletimeprocesspluginconcurrencymutexevent+405Data & formats
Serialization, compression, encoding, configuration and transactional storage. All of it always compiles, with no option to set.
serializationcompressionencodingconfigstorage03Text & language
Unicode 18, linear-time regular expressions and internationalization with CLDR data. None of the three allocates on its main path.
textregexi18n04Networking
Sockets and an event loop, an in-house TLS 1.3 with X.509, an HTTPS client on top of it and binary RPC. None of it uses OpenSSL or any other TLS library.
networktlshttprpc06Security & product
In-house cryptography, the licensing of Ethereal itself and four optional modules for your own product: protection, licenses, updates and crash reports. Turned off, they leave the build identical.
cryptographybundleguardlicensingupdatercrashreport03Developer tools
The test framework and the measurement harness Ethereal itself is verified with, plus the terminal library.
testingbenchcli05Math, game & observability
SIMD batch math, an archetype-based ECS, and the pieces to measure a process: profiler, system statistics and telemetry.
mathecsprofilerstatstelemetry06Machine learning
Six modules for classic inference, model protection and vector search, all off by default, with no dependencies and no Python at run time.
Ml::TreesMl::FeaturesMl::AnomalyMl::NeuralModelGuardVectorIndex01Interface
FormaUI, a future user interface module, in development for the Full edition.
FormaUIBuilt for teams who need to know what every call costs.
Zero dependencies
No third-party library, only the operating system's. SHA-2, ChaCha20-Poly1305, AES-GCM, Ed25519, X25519, P-256 and TLS 1.3 are written in-house. No OpenSSL, no libsodium.
Measured and documented
The module documentation gives its numbers, the machine and the compiler they came from, and the targets it doesn't meet. The changelog lists every breaking change, with a migration guide.
SIMD, same bits
SSE2 to SSE4.2, AES-NI and AVX2 paths picked at runtime in encoding, batch math, regex, checksums, ciphers and vector search. Where it's promised, SIMD and scalar give identical bits.
C and C++
The main API is C++20. Forty-nine modules also have a C layer with opaque handles, tested as C11 and C17, ready for Rust, C#, Python or any language that speaks C.
Opt-in by design
Nothing takes over main, and no worker thread starts unless you ask for one. A module you never call never reaches the binary.
Fails loudly
On-disk formats carry a version in the header. A file newer than the reader is refused instead of read blindly, and a broken read fails instead of returning garbage.
Fast is a number. Here are ours.
Release builds on the same i7-6700, MSVC 19.51 on Windows and GCC 15.2 under WSL2. Every figure comes from a module README, with its conditions.
Regex vs std::regex. Linear time, no backtracking. 10× to 351× faster than libstdc++ on six of seven patterns. (a+)+b on 100,000 letters: under 1 ms.
Corruptions in 5,052 crashes. The transactional storage survived power cuts simulated at 1,263 points on 4 disks. Sequential scan: up to 23 M entries/s on Linux.
A config read by handle. Zero allocations across ten thousand reads, and no torn read in about 50 million during hot reloads.
We publish the misses too. LZ4 block compression runs at 365 to 380 MB/s against a 600 MB/s target. It says so in the README, with the machine and the compiler. See all 24
A passing suite proves little. So we try to break it.
Defects are planted on purpose and the tests have to catch them. Wherever an outside reference exists, Ethereal is checked against it, in volume.
| What | Checked against | Result |
|---|---|---|
| Ed25519 | OpenSSL, exact-integer Python reference, RFC 8032 | 11,848 · 0 off |
| SHA-384/512, HMAC, HKDF, AES-GCM | OpenSSL 3.5, Python cryptography 46 | 127,502 · 0 off |
| X25519, P-256, P-384, RSA | same oracles, RFC 7748 and 6979 | 59,001 · 0 off |
| TLS 1.3 | RFC 8448 trace, openssl s_server and s_client, Python ssl | 31 · 0 fail |
| Compression | liblz4, zlib, libxxhash | 79,864 · 0 off |
| Unicode 18 | official conformance files | 100% |
274 tests under ASan and UBSan, 274 of 274 under TSan, no report.
100 million compression inputs, 85,000 TLS cases and 100,000 certificate mutations.
A failure injected at every disk operation of an update: no install left half-written.
The stateful machine learning modules ran a full day with zero errors and flat memory.
Your next project starts
on a finished foundation.
Evaluate the full Standard edition free for 30 days. No sign-up, no credit card.