{ "measuredAt": "2026-11-03T19:57:12.926Z", "method": "Three fresh processes per runtime, alternating order; transform only, excludes compilation, I/O, child startup and fixture generation. Synthetic data, not production load.", "comparison": [ { "name": "2 MB CSV, 47 absent terms", "nodeMedianMs": 7.342341000000488, "goMedianMs": 2.269, "speedup": 3.235936976641907, "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "name": "100 MB CSV, 47 absent terms", "nodeMedianMs": 238.52490300000045, "goMedianMs": 125.287, "speedup": 1.9038280348320291, "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "name": "50 MB CSV, sparse matches", "nodeMedianMs": 487.7871639999994, "goMedianMs": 345.63, "speedup": 1.4112986835633463, "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "name": "22 MB text, 1.2 million replacements", "nodeMedianMs": 386.68259599999965, "goMedianMs": 225.984, "speedup": 1.7111060783064271, "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" } ], "samples": [ { "run": 0, "implementation": "node", "runtime": "v24.14.1", "name": "2 MB CSV, 47 absent terms", "inputBytes": 1960000, "outputBytes": 1960000, "compileMs": 58.90463600000021, "matchMs": 7.3038470000001325, "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "run": 0, "implementation": "node", "runtime": "v24.14.1", "name": "100 MB CSV, 47 absent terms", "inputBytes": 100800000, "outputBytes": 100800000, "compileMs": 0.11717599999974482, "matchMs": 219.60045600000012, "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "run": 0, "implementation": "node", "runtime": "v24.14.1", "name": "50 MB CSV, sparse matches", "inputBytes": 50400041, "outputBytes": 50400014, "compileMs": 0.0605279999999766, "matchMs": 487.4682039999998, "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "run": 0, "implementation": "node", "runtime": "v24.14.1", "name": "22 MB text, 1.2 million replacements", "inputBytes": 21600000, "outputBytes": 19800000, "compileMs": 11.707684999999401, "matchMs": 386.68259599999965, "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" }, { "run": 0, "implementation": "go", "allocatedBytes": 288, "compileMs": 3.67, "inputBytes": 1960000, "matchMs": 0.937, "name": "2 MB CSV, 47 absent terms", "outputBytes": 1960000, "runtime": "go1.27.3", "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "run": 0, "implementation": "go", "allocatedBytes": 288, "compileMs": 5.627, "inputBytes": 100800000, "matchMs": 125.287, "name": "100 MB CSV, 47 absent terms", "outputBytes": 100800000, "runtime": "go1.27.3", "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "run": 0, "implementation": "go", "allocatedBytes": 100813472, "compileMs": 3.384, "inputBytes": 50400041, "matchMs": 569.122, "name": "50 MB CSV, sparse matches", "outputBytes": 50400014, "runtime": "go1.27.3", "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "run": 0, "implementation": "go", "allocatedBytes": 70813664, "compileMs": 4.515, "inputBytes": 21600000, "matchMs": 198.858, "name": "22 MB text, 1.2 million replacements", "outputBytes": 19800000, "runtime": "go1.27.3", "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" }, { "run": 1, "implementation": "go", "allocatedBytes": 288, "compileMs": 7.926, "inputBytes": 1960000, "matchMs": 2.269, "name": "2 MB CSV, 47 absent terms", "outputBytes": 1960000, "runtime": "go1.27.3", "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "run": 1, "implementation": "go", "allocatedBytes": 288, "compileMs": 5.468, "inputBytes": 100800000, "matchMs": 116.048, "name": "100 MB CSV, 47 absent terms", "outputBytes": 100800000, "runtime": "go1.27.3", "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "run": 1, "implementation": "go", "allocatedBytes": 100813456, "compileMs": 3.416, "inputBytes": 50400041, "matchMs": 345.63, "name": "50 MB CSV, sparse matches", "outputBytes": 50400014, "runtime": "go1.27.3", "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "run": 1, "implementation": "go", "allocatedBytes": 70813536, "compileMs": 6.587, "inputBytes": 21600000, "matchMs": 410.56, "name": "22 MB text, 1.2 million replacements", "outputBytes": 19800000, "runtime": "go1.27.3", "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" }, { "run": 1, "implementation": "node", "runtime": "v24.14.1", "name": "2 MB CSV, 47 absent terms", "inputBytes": 1960000, "outputBytes": 1960000, "compileMs": 50.957612000000154, "matchMs": 7.342341000000488, "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "run": 1, "implementation": "node", "runtime": "v24.14.1", "name": "100 MB CSV, 47 absent terms", "inputBytes": 100800000, "outputBytes": 100800000, "compileMs": 0.10650100000020757, "matchMs": 409.96413699999994, "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "run": 1, "implementation": "node", "runtime": "v24.14.1", "name": "50 MB CSV, sparse matches", "inputBytes": 50400041, "outputBytes": 50400014, "compileMs": 0.07650399999965884, "matchMs": 569.306133, "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "run": 1, "implementation": "node", "runtime": "v24.14.1", "name": "22 MB text, 1.2 million replacements", "inputBytes": 21600000, "outputBytes": 19800000, "compileMs": 13.740774999999303, "matchMs": 379.46914800000013, "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" }, { "run": 2, "implementation": "node", "runtime": "v24.14.1", "name": "2 MB CSV, 47 absent terms", "inputBytes": 1960000, "outputBytes": 1960000, "compileMs": 53.339249000000564, "matchMs": 11.713882000000012, "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "run": 2, "implementation": "node", "runtime": "v24.14.1", "name": "100 MB CSV, 47 absent terms", "inputBytes": 100800000, "outputBytes": 100800000, "compileMs": 0.24719000000004598, "matchMs": 238.52490300000045, "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "run": 2, "implementation": "node", "runtime": "v24.14.1", "name": "50 MB CSV, sparse matches", "inputBytes": 50400041, "outputBytes": 50400014, "compileMs": 0.07269300000007206, "matchMs": 487.7871639999994, "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "run": 2, "implementation": "node", "runtime": "v24.14.1", "name": "22 MB text, 1.2 million replacements", "inputBytes": 21600000, "outputBytes": 19800000, "compileMs": 39.50264599999991, "matchMs": 615.7903429999997, "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" }, { "run": 2, "implementation": "go", "allocatedBytes": 288, "compileMs": 8.704, "inputBytes": 1960000, "matchMs": 2.35, "name": "2 MB CSV, 47 absent terms", "outputBytes": 1960000, "runtime": "go1.27.3", "sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd" }, { "run": 2, "implementation": "go", "allocatedBytes": 288, "compileMs": 11.645, "inputBytes": 100800000, "matchMs": 125.617, "name": "100 MB CSV, 47 absent terms", "outputBytes": 100800000, "runtime": "go1.27.3", "sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48" }, { "run": 2, "implementation": "go", "allocatedBytes": 100850560, "compileMs": 6.736, "inputBytes": 50400041, "matchMs": 289.984, "name": "50 MB CSV, sparse matches", "outputBytes": 50400014, "runtime": "go1.27.3", "sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0" }, { "run": 2, "implementation": "go", "allocatedBytes": 70818872, "compileMs": 3.745, "inputBytes": 21600000, "matchMs": 225.984, "name": "22 MB text, 1.2 million replacements", "outputBytes": 19800000, "runtime": "go1.27.3", "sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249" } ] }