Files
anonymous_github/backend/reports/transform-benchmark.json
T

313 lines
9.6 KiB
JSON

{
"measuredAt": "2026-11-02T07:33:36.343Z",
"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.438604999999825,
"goMedianMs": 2.247,
"speedup": 3.310460614152125,
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"name": "100 MB CSV, 47 absent terms",
"nodeMedianMs": 234.2948919999999,
"goMedianMs": 117.23,
"speedup": 1.998591589183655,
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"name": "50 MB CSV, sparse matches",
"nodeMedianMs": 509.48461799999995,
"goMedianMs": 593.558,
"speedup": 0.8583569221541955,
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"name": "22 MB text, 1.2 million replacements",
"nodeMedianMs": 373.11418800000047,
"goMedianMs": 503.779,
"speedup": 0.7406306892506446,
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
}
],
"samples": [
{
"run": 0,
"implementation": "node",
"runtime": "v24.14.1",
"name": "2 MB CSV, 47 absent terms",
"inputBytes": 1960000,
"outputBytes": 1960000,
"compileMs": 157.8505640000003,
"matchMs": 14.796227999999246,
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"run": 0,
"implementation": "node",
"runtime": "v24.14.1",
"name": "100 MB CSV, 47 absent terms",
"inputBytes": 100800000,
"outputBytes": 100800000,
"compileMs": 0.09445300000061252,
"matchMs": 385.5493370000004,
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"run": 0,
"implementation": "node",
"runtime": "v24.14.1",
"name": "50 MB CSV, sparse matches",
"inputBytes": 50400041,
"outputBytes": 50400014,
"compileMs": 0.07295400000020891,
"matchMs": 550.3266210000002,
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"run": 0,
"implementation": "node",
"runtime": "v24.14.1",
"name": "22 MB text, 1.2 million replacements",
"inputBytes": 21600000,
"outputBytes": 19800000,
"compileMs": 13.61435900000015,
"matchMs": 373.11418800000047,
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
},
{
"run": 0,
"implementation": "go",
"allocatedBytes": 288,
"compileMs": 7.598,
"inputBytes": 1960000,
"matchMs": 2.305,
"name": "2 MB CSV, 47 absent terms",
"outputBytes": 1960000,
"runtime": "go1.27.3",
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"run": 0,
"implementation": "go",
"allocatedBytes": 288,
"compileMs": 5.31,
"inputBytes": 100800000,
"matchMs": 117.23,
"name": "100 MB CSV, 47 absent terms",
"outputBytes": 100800000,
"runtime": "go1.27.3",
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"run": 0,
"implementation": "go",
"allocatedBytes": 201666368,
"compileMs": 3.38,
"inputBytes": 50400041,
"matchMs": 549.325,
"name": "50 MB CSV, sparse matches",
"outputBytes": 50400014,
"runtime": "go1.27.3",
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"run": 0,
"implementation": "go",
"allocatedBytes": 114614864,
"compileMs": 4.315,
"inputBytes": 21600000,
"matchMs": 486.411,
"name": "22 MB text, 1.2 million replacements",
"outputBytes": 19800000,
"runtime": "go1.27.3",
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
},
{
"run": 1,
"implementation": "go",
"allocatedBytes": 288,
"compileMs": 5.263,
"inputBytes": 1960000,
"matchMs": 1.576,
"name": "2 MB CSV, 47 absent terms",
"outputBytes": 1960000,
"runtime": "go1.27.3",
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"run": 1,
"implementation": "go",
"allocatedBytes": 288,
"compileMs": 6.292,
"inputBytes": 100800000,
"matchMs": 115.855,
"name": "100 MB CSV, 47 absent terms",
"outputBytes": 100800000,
"runtime": "go1.27.3",
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"run": 1,
"implementation": "go",
"allocatedBytes": 201624088,
"compileMs": 5.409,
"inputBytes": 50400041,
"matchMs": 657.892,
"name": "50 MB CSV, sparse matches",
"outputBytes": 50400014,
"runtime": "go1.27.3",
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"run": 1,
"implementation": "go",
"allocatedBytes": 114614912,
"compileMs": 7.727,
"inputBytes": 21600000,
"matchMs": 520.535,
"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": 81.97248799999988,
"matchMs": 7.438604999999825,
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"run": 1,
"implementation": "node",
"runtime": "v24.14.1",
"name": "100 MB CSV, 47 absent terms",
"inputBytes": 100800000,
"outputBytes": 100800000,
"compileMs": 0.049205999999685446,
"matchMs": 228.0686410000003,
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"run": 1,
"implementation": "node",
"runtime": "v24.14.1",
"name": "50 MB CSV, sparse matches",
"inputBytes": 50400041,
"outputBytes": 50400014,
"compileMs": 0.06957400000010239,
"matchMs": 489.20430399999987,
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"run": 1,
"implementation": "node",
"runtime": "v24.14.1",
"name": "22 MB text, 1.2 million replacements",
"inputBytes": 21600000,
"outputBytes": 19800000,
"compileMs": 12.034295000000384,
"matchMs": 362.4566530000002,
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
},
{
"run": 2,
"implementation": "node",
"runtime": "v24.14.1",
"name": "2 MB CSV, 47 absent terms",
"inputBytes": 1960000,
"outputBytes": 1960000,
"compileMs": 62.2435889999997,
"matchMs": 7.031358999999611,
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"run": 2,
"implementation": "node",
"runtime": "v24.14.1",
"name": "100 MB CSV, 47 absent terms",
"inputBytes": 100800000,
"outputBytes": 100800000,
"compileMs": 0.06787899999972069,
"matchMs": 234.2948919999999,
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"run": 2,
"implementation": "node",
"runtime": "v24.14.1",
"name": "50 MB CSV, sparse matches",
"inputBytes": 50400041,
"outputBytes": 50400014,
"compileMs": 0.06817700000010518,
"matchMs": 509.48461799999995,
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"run": 2,
"implementation": "node",
"runtime": "v24.14.1",
"name": "22 MB text, 1.2 million replacements",
"inputBytes": 21600000,
"outputBytes": 19800000,
"compileMs": 13.108901000000515,
"matchMs": 389.08548900000005,
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
},
{
"run": 2,
"implementation": "go",
"allocatedBytes": 288,
"compileMs": 7.56,
"inputBytes": 1960000,
"matchMs": 2.247,
"name": "2 MB CSV, 47 absent terms",
"outputBytes": 1960000,
"runtime": "go1.27.3",
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
},
{
"run": 2,
"implementation": "go",
"allocatedBytes": 272,
"compileMs": 5.386,
"inputBytes": 100800000,
"matchMs": 117.329,
"name": "100 MB CSV, 47 absent terms",
"outputBytes": 100800000,
"runtime": "go1.27.3",
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
},
{
"run": 2,
"implementation": "go",
"allocatedBytes": 201666384,
"compileMs": 6.097,
"inputBytes": 50400041,
"matchMs": 593.558,
"name": "50 MB CSV, sparse matches",
"outputBytes": 50400014,
"runtime": "go1.27.3",
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
},
{
"run": 2,
"implementation": "go",
"allocatedBytes": 114614880,
"compileMs": 3.222,
"inputBytes": 21600000,
"matchMs": 503.779,
"name": "22 MB text, 1.2 million replacements",
"outputBytes": 19800000,
"runtime": "go1.27.3",
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
}
]
}