Skip to content

Commit 7249dc9

Browse files
deftioclaude
andcommitted
README: add language table with source sizes to Features section
Show all 10 supported languages with source line counts, binary sizes, and key characteristics in a table under Features. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f96749a commit 7249dc9

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

README.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,32 @@ TriePack encodes dictionaries into a compact binary format (`.trp`) optimized fo
1010

1111
## Features
1212

13-
- **Compact binary format** — compressed tries with suffix sharing
14-
- **Fast lookups** — O(key-length) point queries
13+
- **Compact binary format** — compressed tries with prefix sharing and bit-level packing
14+
- **Fast lookups** — O(key-length) point queries via skip pointers
1515
- **Prefix search** — iterate all keys matching a prefix
1616
- **Fuzzy search** — find keys within edit distance d<=2
1717
- **ROM-safe** — readers work directly on `const` buffers with zero allocation
1818
- **Typed values** — null, bool, int, uint, float, double, string, blob, array, nested dict
1919
- **JSON support** — encode/decode JSON documents to/from `.trp` format
20-
- **C99 core** — portable C library with C++11 wrappers
21-
- **32-bit and 64-bit** — works on both architectures
20+
- **10 languages** — C core with native implementations across 9 additional languages
21+
- **Small footprint** — C static library under 235 KB; bindings are 874-1,672 source lines each
22+
23+
### Supported Languages
24+
25+
All bindings are native implementations that read/write the `.trp` binary format directly (no FFI).
26+
27+
| Language | Type | Source Lines | Binary/Library Size | Notes |
28+
|----------|------|-------------|---------------------|-------|
29+
| C | Core library | 4,169 | ~235 KB (static, 64-bit) | C99, 32-bit and 64-bit, ROM-safe |
30+
| C++ | Wrapper | 369 | ~51 KB (static) | C++11 RAII wrappers over C core |
31+
| Python | Binding | 874 | pure source | No dependencies |
32+
| JavaScript | Binding | 1,052 | pure source | Node.js and browser |
33+
| TypeScript | Binding | 49 | pure source | Type-safe wrapper over JS |
34+
| Go | Binding | 1,239 | pure source | No dependencies |
35+
| Rust | Binding | 1,672 | pure source | No dependencies, no `unsafe` |
36+
| Swift | Binding | 1,092 | pure source | SPM package |
37+
| Kotlin | Binding | 1,079 | pure source | Kotlin/JVM, Gradle |
38+
| Java | Binding | 1,485 | pure source | Java 11+, Gradle |
2239

2340
## Quick Start
2441

0 commit comments

Comments
 (0)