05 — Side by side
The comparison, without the adjectives.
Where a row cites a measurement, it comes from the checked benchmark report in the repository. Where nothing was measured, the row says so.
| Criteria | fbtee | Palamedes |
|---|
| Source authoring | Inline <fbt>, fbt() and fbs() with required descriptions | Inline macros and JSX; context is optional |
|---|
| Grammar model | FBT IR: plural, pronoun, enum, list and rich-text primitives | ICU MessageFormat plural, select and formatter semantics |
|---|
| Durable catalog | Hash-keyed source and locale JSON | Source-readable PO or opt-in FCL |
|---|
| Toolchain | Babel or Rust/Wasm SWC transform plus JavaScript CLI | Native extraction, catalog operations, validation and compilation |
|---|
| React Native | Documented Expo setup and template | Not supported |
|---|
| Server integration | React locale context plus explicit server setup | Request-local runtime across the supported server frameworks |
|---|
| Agent translation | Status-marked JSON workflow documented for coding agents | Repository-owned catalogs with source-readable context and audits |
|---|
| Collect + catalog update, realistic corpus | 7263 ms vs 73 ms | 100.12× faster on the checked same-inventory workflow¹ |
|---|
¹ Median of 7 runs on the realistic corpus (1,500 files, ~400k lines, 6,000 messages — half the files carry no i18n marker), one machine-local run, same semantic validation for every tool. The full report and the harness are in the repository, and the site build fails if these numbers drift from it.