mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-11-14 08:17:26 +01:00
333 lines
10 KiB
JSON
333 lines
10 KiB
JSON
{
|
|
"measuredAt": "2026-11-03T19:56:40.313Z",
|
|
"method": "Three fresh processes per version, alternating order; transform only, excludes compilation, I/O, child startup and fixture generation. Same-machine comparison against the Go implementation before regex optimization.",
|
|
"comparison": [
|
|
{
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"beforeMs": 1.646,
|
|
"afterMs": 2.285,
|
|
"speedup": 0.7203501094091903,
|
|
"beforeAllocatedBytes": 288,
|
|
"afterAllocatedBytes": 288,
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"beforeMs": 101.618,
|
|
"afterMs": 118.113,
|
|
"speedup": 0.8603456012462641,
|
|
"beforeAllocatedBytes": 288,
|
|
"afterAllocatedBytes": 288,
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"name": "50 MB CSV, sparse matches",
|
|
"beforeMs": 591.941,
|
|
"afterMs": 269.905,
|
|
"speedup": 2.1931457364628297,
|
|
"beforeAllocatedBytes": 201666352,
|
|
"afterAllocatedBytes": 100815288,
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"beforeMs": 394.294,
|
|
"afterMs": 189.823,
|
|
"speedup": 2.0771666236441315,
|
|
"beforeAllocatedBytes": 114614896,
|
|
"afterAllocatedBytes": 70813536,
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
}
|
|
],
|
|
"samples": [
|
|
{
|
|
"run": 0,
|
|
"implementation": "before",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 27.398,
|
|
"inputBytes": 1960000,
|
|
"matchMs": 3.181,
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"outputBytes": 1960000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "before",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 7.343,
|
|
"inputBytes": 100800000,
|
|
"matchMs": 101.618,
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"outputBytes": 100800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "before",
|
|
"allocatedBytes": 201666352,
|
|
"compileMs": 3.131,
|
|
"inputBytes": 50400041,
|
|
"matchMs": 591.941,
|
|
"name": "50 MB CSV, sparse matches",
|
|
"outputBytes": 50400014,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "before",
|
|
"allocatedBytes": 114620200,
|
|
"compileMs": 3.847,
|
|
"inputBytes": 21600000,
|
|
"matchMs": 394.294,
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"outputBytes": 19800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "after",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 7.654,
|
|
"inputBytes": 1960000,
|
|
"matchMs": 2.15,
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"outputBytes": 1960000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "after",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 3.392,
|
|
"inputBytes": 100800000,
|
|
"matchMs": 64.824,
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"outputBytes": 100800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "after",
|
|
"allocatedBytes": 100815272,
|
|
"compileMs": 4.167,
|
|
"inputBytes": 50400041,
|
|
"matchMs": 269.905,
|
|
"name": "50 MB CSV, sparse matches",
|
|
"outputBytes": 50400014,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"run": 0,
|
|
"implementation": "after",
|
|
"allocatedBytes": 70813568,
|
|
"compileMs": 9.856,
|
|
"inputBytes": 21600000,
|
|
"matchMs": 322.06,
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"outputBytes": 19800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "after",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 7.513,
|
|
"inputBytes": 1960000,
|
|
"matchMs": 2.285,
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"outputBytes": 1960000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "after",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 5.949,
|
|
"inputBytes": 100800000,
|
|
"matchMs": 153.087,
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"outputBytes": 100800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "after",
|
|
"allocatedBytes": 100852328,
|
|
"compileMs": 7.187,
|
|
"inputBytes": 50400041,
|
|
"matchMs": 329.242,
|
|
"name": "50 MB CSV, sparse matches",
|
|
"outputBytes": 50400014,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "after",
|
|
"allocatedBytes": 70813536,
|
|
"compileMs": 4.706,
|
|
"inputBytes": 21600000,
|
|
"matchMs": 189.823,
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"outputBytes": 19800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "before",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 4.075,
|
|
"inputBytes": 1960000,
|
|
"matchMs": 1.269,
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"outputBytes": 1960000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "before",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 5.607,
|
|
"inputBytes": 100800000,
|
|
"matchMs": 119.659,
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"outputBytes": 100800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "before",
|
|
"allocatedBytes": 201634616,
|
|
"compileMs": 5.299,
|
|
"inputBytes": 50400041,
|
|
"matchMs": 624.138,
|
|
"name": "50 MB CSV, sparse matches",
|
|
"outputBytes": 50400014,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"run": 1,
|
|
"implementation": "before",
|
|
"allocatedBytes": 114614896,
|
|
"compileMs": 3.318,
|
|
"inputBytes": 21600000,
|
|
"matchMs": 484.591,
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"outputBytes": 19800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "before",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 6.028,
|
|
"inputBytes": 1960000,
|
|
"matchMs": 1.646,
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"outputBytes": 1960000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "before",
|
|
"allocatedBytes": 272,
|
|
"compileMs": 12.547,
|
|
"inputBytes": 100800000,
|
|
"matchMs": 100.802,
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"outputBytes": 100800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "before",
|
|
"allocatedBytes": 201666400,
|
|
"compileMs": 3.38,
|
|
"inputBytes": 50400041,
|
|
"matchMs": 589.404,
|
|
"name": "50 MB CSV, sparse matches",
|
|
"outputBytes": 50400014,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "before",
|
|
"allocatedBytes": 114614880,
|
|
"compileMs": 3.723,
|
|
"inputBytes": 21600000,
|
|
"matchMs": 358.638,
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"outputBytes": 19800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "after",
|
|
"allocatedBytes": 288,
|
|
"compileMs": 7.414,
|
|
"inputBytes": 1960000,
|
|
"matchMs": 2.286,
|
|
"name": "2 MB CSV, 47 absent terms",
|
|
"outputBytes": 1960000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "b3882940c0ad7a4f8e1385dcd3e32122c721f26b90144bb820b542e394f379cd"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "after",
|
|
"allocatedBytes": 272,
|
|
"compileMs": 5.508,
|
|
"inputBytes": 100800000,
|
|
"matchMs": 118.113,
|
|
"name": "100 MB CSV, 47 absent terms",
|
|
"outputBytes": 100800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "fcccff214b1f6838f5d9345237f5252cd57e2263fc95640b2a3a5278156eec48"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "after",
|
|
"allocatedBytes": 100815288,
|
|
"compileMs": 3.414,
|
|
"inputBytes": 50400041,
|
|
"matchMs": 247.259,
|
|
"name": "50 MB CSV, sparse matches",
|
|
"outputBytes": 50400014,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "153ce777c4473651a70f3f2f830cac5930214f6b998c08094939646193b0f9f0"
|
|
},
|
|
{
|
|
"run": 2,
|
|
"implementation": "after",
|
|
"allocatedBytes": 70813536,
|
|
"compileMs": 3.909,
|
|
"inputBytes": 21600000,
|
|
"matchMs": 162.45,
|
|
"name": "22 MB text, 1.2 million replacements",
|
|
"outputBytes": 19800000,
|
|
"runtime": "go1.27.3",
|
|
"sha256": "4e649aee83a6f15cb7178f725991ff5405affe013b0bba0b6eda18689c5c0249"
|
|
}
|
|
]
|
|
}
|