@@ -203,29 +203,23 @@ Measured from `cargo bench --bench benchmarks` on macOS arm64 (Feb 2026).
203203
204204All comparisons below were run on the same machine (macOS arm64), same 10,000-record dataset, with warmup and repeated timed runs via ` hyperfine ` .
205205
206- #### 1) JSON → YAML conversion
206+ #### Detailed benchmark matrix
207207
208- | Tool | Mean runtime | Relative |
209- | ------ | -------------- | ---------- |
210- | ** morph ** ( ` morph -f json -t yaml ` ) | ** 23.7 ms ** | ** 1.00x ** |
211- | yq ( ` yq -P '.' ` ) | 713.2 ms | 30.03x slower |
208+ Task definitions:
209+ - ** T1 ** : JSON → YAML conversion
210+ - ** T2 ** : JSON transform ( ` rename .name -> .username ` + ` where .age > 30 ` )
211+ - ** T3 ** : CSV → JSON conversion
212212
213- #### 2) JSON transform (rename + filter)
213+ | Tool | T1 mean (ms) | T1 vs morph | T2 mean (ms) | T2 vs morph | T3 mean (ms) | T3 vs morph | Capability notes |
214+ | ------| --------------| -------------| --------------| -------------| --------------| -------------| ------------------|
215+ | ** morph** | ** 23.7** | ** 1.00x** | ** 18.3** | ** 1.00x** | ** 11.7** | ** 1.00x** | Multi-format + mapping DSL in one binary |
216+ | jq | N/A | N/A | 40.0 | 2.19x slower | N/A | N/A | Excellent JSON transform tool |
217+ | yq | 713.2 | 30.03x slower | 101.5 | 5.55x slower | N/A | N/A | YAML/JSON query + transform workflows |
218+ | miller (mlr) | N/A | N/A | N/A | N/A | 17.2 | 1.47x slower | Strong tabular (CSV/TSV/etc.) processing |
214219
215- Task: ` rename .name -> .username ` + ` where .age > 30 `
220+ ** Environment: ** macOS arm64, same 10,000-record dataset, warm cache, hyperfine warmup + repeated runs.
216221
217- | Tool | Mean runtime | Relative |
218- | ------| --------------| ----------|
219- | ** morph** | ** 18.3 ms** | ** 1.00x** |
220- | jq | 40.0 ms | 2.19x slower |
221- | yq | 101.5 ms | 5.55x slower |
222-
223- #### 3) CSV → JSON conversion
224-
225- | Tool | Mean runtime | Relative |
226- | ------| --------------| ----------|
227- | ** morph** (` morph -f csv -t json ` ) | ** 11.7 ms** | ** 1.00x** |
228- | miller (` mlr --icsv --ojson ` ) | 17.2 ms | 1.47x slower |
222+ ** Important:** ` N/A ` means that tool was not benchmarked for that specific task in this run (not necessarily impossible).
229223
230224### Comparison commands
231225
0 commit comments