Strings
Abjadify — Execution Time (µs)
Abjadify — Memory Allocated (KB)
Levenshtein Distance — Execution Time (µs)
Levenshtein Distance — Memory Allocated (KB)
| Benchmark | Mean | Error | StdDev | Gen0 | Allocated |
|---|---|---|---|---|---|
| Abjadify · ShortText | 2.537 µs | ±0.568 µs | 0.031 µs | 0.97 | 3.95 KB |
| Abjadify · Paragraph | 14.016 µs | ±0.956 µs | 0.052 µs | 4.94 | 20.21 KB |
| Abjadify · Document | 290.770 µs | ±56.92 µs | 3.12 µs | 108.89 | 445.45 KB |
| Levenshtein · EmptyVsLong | 3.933 µs | ±2.772 µs | 0.152 µs | 0.31 | 1.28 KB |
| Levenshtein · ShortStrings | 6.812 µs | ±3.690 µs | 0.202 µs | 0.40 | 1.68 KB |
| Levenshtein · MediumStrings | 10.650 µs | ±1.860 µs | 0.102 µs | 2.23 | 9.13 KB |
| Levenshtein · IdenticalStrings | 168.090 µs | ±53.90 µs | 2.955 µs | 45.41 | 146.21 KB |
| Levenshtein · LongStrings | 173.491 µs | ±54.78 µs | 3.003 µs | 45.41 | 146.21 KB |
Levenshtein identical-string and long-string cases take similar time — the algorithm does not short-circuit on equality.
Interpreters
Brainfuck Interpreter — Execution Time (µs)
Ook — Translation & Execution Time (µs)
Brainfuck — Memory Allocated (KB)
Ook — Memory Allocated (KB)
| Benchmark | Mean | Error | StdDev | Gen0 | Allocated |
|---|---|---|---|---|---|
| Brainfuck · Tiny | 1.198 µs | ±0.865 µs | 0.047 µs | 7.19 | 29.51 KB |
| Brainfuck · HelloWorld | 1.795 µs | ±0.584 µs | 0.032 µs | 7.19 | 29.57 KB |
| Brainfuck · MultiplyIntensive | 5.189 µs | ±12.84 µs | 0.704 µs | 7.19 | 29.52 KB |
| Ook · BF→Ook (Short) | 1.292 µs | ±0.325 µs | 0.018 µs | 1.38 | 5.63 KB |
| Ook · BF→Ook (HelloWorld) | 2.132 µs | ±0.181 µs | 0.010 µs | 1.55 | 6.35 KB |
| Ook · Ook→BF (Short) | 9.151 µs | ±2.133 µs | 0.117 µs | 2.69 | 10.98 KB |
| Ook · Ook→BF (HelloWorld) | 9.592 µs | ±1.904 µs | 0.104 µs | 3.42 | 14.01 KB |
| Ook · Execute (Short) | 12.724 µs | ±14.95 µs | 0.820 µs | 9.89 | 40.48 KB |
| Ook · Execute (HelloWorld) | 22.218 µs | ±27.09 µs | 1.485 µs | 10.62 | 43.58 KB |
Ook→BF translation is ~7× slower than BF→Ook — the verbose Ook token format requires significantly more lexing work.
Images
Steganography — Execution Time (ms)
Steganography — Memory Allocated (KB)
| Benchmark | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
|---|---|---|---|---|---|---|---|
| Encode · Short msg, Small img (200×200) | 2.438 ms | ±7.294 ms | 0.400 ms | — | — | — | 22.92 KB |
| Decode · Small img (200×200) | 2.193 ms | ±7.013 ms | 0.384 ms | 117.19 | 66.41 | 66.41 | 460.81 KB |
| Encode · Long msg, Large img (800×800) | 22.238 ms | ±18.53 ms | 1.016 ms | — | — | — | 53.52 KB |
| Decode · Large img (800×800) | 25.317 ms | ±46.15 ms | 2.530 ms | 1031.25 | 968.75 | 968.75 | 7205.3 KB |
Decode allocates ~20× more memory than encode — it must load the full decoded pixel buffer to reconstruct the message from LSBs. Large image decode reaches 7 MB.
Crypto — Homomorphic Encryption (Paillier)
Encrypt / Decrypt — Execution Time (ms) · param="hello"
Slice Operations — Execution Time (ns) · param="hello"
Encrypt / Decrypt — Memory Allocated (KB) · param="hello"
| Benchmark | Param | Mean | Allocated |
|---|---|---|---|
| SubstringEncrypted · FromStart | hello | 29.5 ns | 128 B |
| SubstringEncrypted · FromMiddle | hello | 36.4 ns | 208 B |
| SubstringEncrypted · ToEnd | hello | 53.4 ns | 344 B |
| ReplaceInString · SingleChar | hello | 154.1 ms | 6.88 KB |
| ReplaceInString · Word (4 chars) | hello | 304.6 ms | 25.64 KB |
| EncryptString · Short (5 chars) | hello | 656.4 ms | 32.55 KB |
| DecryptString · Short (5 chars) | hello | 676.9 ms | 18.80 KB |
| EncryptString · Long (56 chars) | hello | 4,208 ms | 362.9 KB |
| DecryptString · Long (56 chars) | hello | 7,528 ms | 213.3 KB |
Slice/substring operations on encrypted data are O(1) pointer slices (~30–55 ns) — no decryption occurs. Encrypt/decrypt cost scales linearly with character count due to per-character Paillier operations.
Cross-Topic Overview
Representative Operation — Mean Execution Time (log scale, µs)
Crypto encrypt/decrypt operations are shown here in µs for scale comparison. Homomorphic substring slices (<0.1 µs) are omitted as they would not be visible.