v0.1 C++20 · C17 · zero dependencies

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.

Windows x64 + Linux x64, verified Perpetual license C layer for FFI
57+modules in one library6 for machine learning
0third-party dependenciesonly the OS libraries
280+tests passingMSVC and GCC, Release
0compiler warnings/W4 · -Wall -Wextra
127,502symmetric crypto cross-checksvs OpenSSL 3.5 · 0 divergences
31TLS 1.3 interop casesvs OpenSSL and Python · 0 failures
the glue tax

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
the library

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.

13

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+5
12

System & 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+4
05

Data & formats

Serialization, compression, encoding, configuration and transactional storage. All of it always compiles, with no option to set.

serializationcompressionencodingconfigstorage
03

Text & language

Unicode 18, linear-time regular expressions and internationalization with CLDR data. None of the three allocates on its main path.

textregexi18n
04

Networking

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.

networktlshttprpc
06

Security & 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.

cryptographybundleguardlicensingupdatercrashreport
03

Developer tools

The test framework and the measurement harness Ethereal itself is verified with, plus the terminal library.

testingbenchcli
05

Math, game & observability

SIMD batch math, an archetype-based ECS, and the pieces to measure a process: profiler, system statistics and telemetry.

mathecsprofilerstatstelemetry
06

Machine 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::NeuralModelGuardVectorIndex
01

Interface

FormaUI, a future user interface module, in development for the Full edition.

FormaUI

Browse every module, with its numbers and its limits

principles

Built 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.

performance

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.

CRC32Ccompression24.26 GB/starget 20
Hex encodeencoding · AVX219.32 GB/starget 12
Literal searchregex · 1 MB, in cache14.1 GB/starget 10
Base64 decodeencoding · AVX213.93 GB/starget 6
Base64 encodeencoding · AVX212.44 GB/starget 8
LZ4 decompresscompression3.24 GB/sWindows x64

Windows x64, MSVC 19.51, Release, 64 KiB to 1 MB blocks. Linux numbers are on the performance page.

351×

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.

0

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.

3.52 ns

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

verification

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.

WhatChecked againstResult
Ed25519OpenSSL, exact-integer Python reference, RFC 803211,848 · 0 off
SHA-384/512, HMAC, HKDF, AES-GCMOpenSSL 3.5, Python cryptography 46127,502 · 0 off
X25519, P-256, P-384, RSAsame oracles, RFC 7748 and 697959,001 · 0 off
TLS 1.3RFC 8448 trace, openssl s_server and s_client, Python ssl31 · 0 fail
Compressionliblz4, zlib, libxxhash79,864 · 0 off
Unicode 18official conformance files100%
Sanitizers clean

274 tests under ASan and UBSan, 274 of 274 under TSan, no report.

Fuzzed in volume

100 million compression inputs, 85,000 TLS cases and 100,000 certificate mutations.

Power cuts

A failure injected at every disk operation of an update: no install left half-written.

24 hours straight

The stateful machine learning modules ran a full day with zero errors and flat memory.

licensing

Buy it once. Keep it forever.

  • Every module, priced by team size, unlimited projects
  • Commercial use included, perpetual license
  • 1 or 2 years of updates, keep what you got after that
  • Verified offline, no machine lock, no phone home
perpetual, from
$349 one-time
ready when you are

Your next project starts
on a finished foundation.

Evaluate the full Standard edition free for 30 days. No sign-up, no credit card.

Learn more about Typename Studios and its products