From 07f4b819f39d62f4f0b775ef0a3f0518e47eef84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20F=C3=A4rber?= <01mf02@gmail.com> Date: Wed, 27 Nov 2024 09:52:22 +0100 Subject: [PATCH] Update benchmark results. --- README.md | 57 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 461ac8ff..f3f16c95 100644 --- a/README.md +++ b/README.md @@ -156,37 +156,38 @@ Table: Evaluation results in milliseconds ("N/A" if error or more than 10 second | Benchmark | n | jaq-2.0 | jq-1.7.1 | gojq-0.12.16 | |-----------------|--------:|--------:|---------:|-------------:| -| `empty` | 512 | 350 | 540 | **250** | -| `bf-fib` | 13 | **480** | 1260 | 560 | -| `defs` | 100000 | **60** | N/A | 1030 | -| `upto` | 8192 | **0** | 480 | 450 | -| `reduce-update` | 16384 | **10** | 550 | 1380 | -| `reverse` | 1048576 | **40** | 690 | 270 | -| `sort` | 1048576 | **110** | 540 | 560 | -| `group-by` | 1048576 | **510** | 1930 | 1560 | -| `min-max` | 1048576 | **210** | 320 | 250 | -| `add` | 1048576 | **470** | 630 | 1270 | -| `kv` | 131072 | **110** | 150 | 220 | -| `kv-update` | 131072 | **130** | 540 | 480 | -| `kv-entries` | 131072 | **570** | 1160 | 710 | -| `ex-implode` | 1048576 | **510** | 1110 | 600 | -| `reduce` | 1048576 | **750** | 890 | N/A | -| `try-catch` | 1048576 | **290** | 320 | 360 | -| `repeat` | 1048576 | **150** | 840 | 530 | -| `from` | 1048576 | **290** | 1010 | 590 | -| `pyramid` | 524288 | **340** | 360 | 510 | +| `empty` | 512 | 300 | 500 | **230** | +| `bf-fib` | 13 | **440** | 1230 | 570 | +| `defs` | 100000 | **60** | N/A | 1020 | +| `upto` | 8192 | **0** | 470 | 460 | +| `reduce-update` | 16384 | **10** | 550 | 1340 | +| `reverse` | 1048576 | **40** | 690 | 280 | +| `sort` | 1048576 | **110** | 530 | 630 | +| `group-by` | 1048576 | **500** | 1920 | 1500 | +| `min-max` | 1048576 | **210** | 320 | 260 | +| `add` | 1048576 | **460** | 630 | 1300 | +| `kv` | 131072 | **110** | 150 | 230 | +| `kv-update` | 131072 | **130** | 540 | 470 | +| `kv-entries` | 131072 | **570** | 1150 | 730 | +| `ex-implode` | 1048576 | **520** | 1110 | 580 | +| `reduce` | 1048576 | **770** | 890 | N/A | +| `try-catch` | 1048576 | **290** | 320 | 370 | +| `repeat` | 1048576 | **140** | 840 | 530 | +| `from` | 1048576 | **320** | 1010 | 590 | +| `last` | 1048576 | **40** | 240 | 110 | +| `pyramid` | 524288 | **340** | 350 | 480 | | `tree-contains` | 23 | **70** | 610 | 210 | -| `tree-flatten` | 17 | 770 | 370 | **0** | -| `tree-update` | 17 | **700** | 980 | 1350 | -| `tree-paths` | 17 | 430 | **270** | 870 | -| `to-fromjson` | 65536 | **40** | 370 | 110 | -| `ack` | 7 | **540** | 710 | 1240 | -| `range-prop` | 128 | 360 | 310 | **230** | -| `cumsum` | 1048576 | **280** | 380 | 460 | -| `cumsum-xy` | 1048576 | **460** | 480 | 710 | +| `tree-flatten` | 17 | 780 | 360 | **10** | +| `tree-update` | 17 | **700** | 970 | 1340 | +| `tree-paths` | 17 | 440 | **280** | 870 | +| `to-fromjson` | 65536 | **40** | 360 | 110 | +| `ack` | 7 | **520** | 710 | 1220 | +| `range-prop` | 128 | 360 | 320 | **230** | +| `cumsum` | 1048576 | **280** | 380 | 450 | +| `cumsum-xy` | 1048576 | **430** | 470 | 710 | The results show that -jaq-2.0 is fastest on 24 benchmarks, whereas +jaq-2.0 is fastest on 25 benchmarks, whereas jq-1.7.1 is fastest on 1 benchmark and gojq-0.12.16 is fastest on 3 benchmarks. gojq is much faster on `tree-flatten` because it implements the filter `flatten` natively instead of by definition.