Add benchmarks for Bob, Bram & Brechtje on day 3

bram-benchmarks
Bram 2025-12-04 11:32:52 +01:00
parent ba2815f1ff
commit 9d486ddccf
12 changed files with 1054 additions and 137 deletions

File diff suppressed because one or more lines are too long

View File

@ -12,4 +12,10 @@ hyperfine --warmup 5 --export-json ../bram/benchmarks/data/bob-d02-p1.json \
hyperfine --warmup 5 --export-json ../bram/benchmarks/data/bob-d02-p2.json \
--runs 100 "python day02/day02-p2.py"
# Benchmark day 3
hyperfine --warmup 5 --export-json ../bram/benchmarks/data/bob-d03-p1.json \
--runs 100 "python day03/day03-p1.py"
hyperfine --warmup 5 --export-json ../bram/benchmarks/data/bob-d03-p2.json \
--runs 100 "python day03/day03-p2.py"
cd ../bram/benchmarks

View File

@ -10,6 +10,10 @@ hyperfine --warmup 5 --export-json ../benchmarks/data/bram-d01-100.json \
# Benchmark day 2
hyperfine --warmup 5 --export-json ../benchmarks/data/bram-d02.json \
--runs 100 "target/release/aoc2025 2"
--runs 100 "for run in {1..100}; do target/release/aoc2025 2; done"
# Benchmark day 3
hyperfine --warmup 5 --export-json ../benchmarks/data/bram-d03.json \
--runs 100 "for run in {1..100}; do target/release/aoc2025 3; done"
cd ../benchmarks

View File

@ -20,4 +20,14 @@ hyperfine --warmup 5 \
# --runs 100 "python 2-2.py"
cd ../
# Benchmark day 3
cd 3/
hyperfine --warmup 5 \
--export-json ../../bram/benchmarks/data/brechtje-d03-p1.json \
--runs 100 "python 3-1.py"
# hyperfine --warmup 5 \
# --export-json ../../bram/benchmarks/data/brechtje-d03-p2.json \
# --runs 100 "python 3-2.py"
cd ../
cd ../bram/benchmarks

View File

@ -35,6 +35,24 @@
],
"runs": 1
},
{
"name": "bob-d03-p1.json",
"author": "Bob",
"lang": "Python",
"puzzles": [
"3-1"
],
"runs": 1
},
{
"name": "bob-d03-p2.json",
"author": "Bob",
"lang": "Python",
"puzzles": [
"3-2"
],
"runs": 1
},
{
"name": "bram-d01-100.json",
"author": "Bram",
@ -53,7 +71,17 @@
"2-1",
"2-2"
],
"runs": 1
"runs": 100
},
{
"name": "bram-d03.json",
"author": "Bram",
"lang": "Rust",
"puzzles": [
"3-1",
"3-2"
],
"runs": 100
},
{
"name": "brechtje-d01-p1.json",
@ -82,6 +110,15 @@
],
"runs": 1
},
{
"name": "brechtje-d03-p1.json",
"author": "Brechtje",
"lang": "Python",
"puzzles": [
"3-1"
],
"runs": 1
},
{
"name": "sander-d01-p1.json",
"author": "Sander",

View File

@ -0,0 +1,218 @@
{
"results": [
{
"command": "python day03/day03-p1.py",
"mean": 0.0660799919,
"stddev": 0.025562380847174715,
"median": 0.0548976352,
"user": 0.05923819000000002,
"system": 0.0061979943999999985,
"min": 0.0430741142,
"max": 0.13645839420000003,
"times": [
0.0580094412,
0.0479218002,
0.0467777452,
0.0487909782,
0.0568163352,
0.054945985200000005,
0.0873796792,
0.1266311662,
0.0563937692,
0.060725026200000004,
0.0476747372,
0.0474197492,
0.048355934200000006,
0.0469648582,
0.0478248612,
0.04853774420000001,
0.04466234720000001,
0.0448723452,
0.0439995782,
0.05148014120000001,
0.054453686200000004,
0.0720802272,
0.09020339620000001,
0.1001945402,
0.09638806820000001,
0.055358244200000004,
0.0468372552,
0.0606053892,
0.0638592332,
0.0922908422,
0.10698714220000001,
0.1044674492,
0.05800262120000001,
0.04659443020000001,
0.061099284200000006,
0.0548101342,
0.0468830492,
0.0657145312,
0.07448295020000001,
0.059065898199999994,
0.0443573832,
0.0430741142,
0.0438149122,
0.0459145032,
0.061378683200000006,
0.0728903592,
0.0977631482,
0.1137083432,
0.1248132872,
0.04906956820000001,
0.04501981120000001,
0.046184610200000004,
0.0436409282,
0.054372100199999995,
0.09953690920000001,
0.12195182120000002,
0.0703806292,
0.1103826442,
0.1260261212,
0.0464217982,
0.0463901332,
0.0617853892,
0.0548492852,
0.044766891200000006,
0.0536407262,
0.11619950120000001,
0.11864129820000001,
0.050199670200000004,
0.0488492802,
0.0482894502,
0.044182603200000004,
0.0452517732,
0.0507959392,
0.060989947200000005,
0.0620729822,
0.044499067200000006,
0.051901206199999994,
0.0526471062,
0.0627863622,
0.0728570552,
0.060794447200000004,
0.0469039242,
0.0971304202,
0.13645839420000003,
0.0816798682,
0.04396929520000001,
0.0442168822,
0.04408973320000001,
0.0535603102,
0.1162714572,
0.1043759072,
0.12440874920000002,
0.04929632120000001,
0.04931024020000001,
0.0634268662,
0.05277431020000001,
0.0690710262,
0.0876780362,
0.05742365320000001,
0.0462994122
],
"exit_codes": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
]
}

View File

@ -0,0 +1,218 @@
{
"results": [
{
"command": "python day03/day03-p2.py",
"mean": 0.09414321873999999,
"stddev": 0.01832509350311759,
"median": 0.08736366594,
"user": 0.08812937,
"system": 0.005363350000000001,
"min": 0.07237158344,
"max": 0.14640847944000002,
"times": [
0.08058291244,
0.07628245044,
0.07969654144,
0.09520080544,
0.09930194044,
0.07825368544,
0.08392984844,
0.07737118043999999,
0.07788930944,
0.07749630844,
0.07952176043999999,
0.09787982744,
0.08150873044,
0.08176495044,
0.08633617744,
0.10993066344,
0.07870264444,
0.07887313044,
0.11759371244000001,
0.14640847944000002,
0.07996222643999999,
0.09731879943999999,
0.07707701444,
0.07385610144,
0.08259913244,
0.09680778844,
0.11890589244000001,
0.08543212844,
0.10530924944,
0.07660466744,
0.07237158344,
0.07377316044,
0.07496567443999999,
0.08222708044,
0.11440945644,
0.12379463944,
0.08831812944,
0.09060156143999999,
0.09417247944,
0.10397773444,
0.07700830344,
0.07477282644,
0.07389806843999999,
0.08066847544,
0.09046442344,
0.11788687244,
0.07385357844,
0.07357571044,
0.08391386544,
0.09809230144,
0.11828182144,
0.11357936444,
0.11709032343999999,
0.09366015844,
0.12241708644,
0.08967856644,
0.11136426544,
0.10635690744,
0.12570409044000003,
0.08240299144,
0.08341971044,
0.08110020844,
0.08025836344,
0.07834463644,
0.07356606644,
0.08846380344,
0.11980265844,
0.08049780844,
0.09870591944,
0.11650581444000001,
0.10046443644,
0.09956565044,
0.12974481444000002,
0.07494186343999999,
0.07891511344,
0.09839348544,
0.11864865944000001,
0.12580707744000003,
0.11363200844,
0.12271954944,
0.08420987944,
0.12219339344,
0.11876301444,
0.07576832244,
0.07380642143999999,
0.08069492144,
0.09729451344,
0.10398245644,
0.11655304443999999,
0.07787526644,
0.08640920244,
0.12098887044,
0.12086899544,
0.11050377944,
0.13328684144000003,
0.09596151744,
0.08029424943999999,
0.07421061644,
0.07551346744,
0.07996589343999999
],
"exit_codes": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
]
}

View File

@ -1,115 +1,115 @@
{
"results": [
{
"command": "target/release/aoc2025 2",
"mean": 0.95519874726,
"stddev": 0.044124744291853195,
"median": 0.9539973693000001,
"user": 0.9509290699999997,
"system": 0.0004994800000000004,
"min": 0.9081787933000001,
"max": 1.3391311813,
"command": "for run in {1..100}; do target/release/aoc2025 2; done",
"mean": 0.31470294114,
"stddev": 0.03199635516413443,
"median": 0.32647921220000004,
"user": 0.07126165999999999,
"system": 0.24127882000000014,
"min": 0.2110023297,
"max": 0.41121181170000004,
"times": [
0.9081787933000001,
0.9308759813000002,
0.9142113613000001,
0.9193022683000001,
0.9168911283000001,
0.9253488913000001,
0.9312279043000001,
0.9356256283000001,
0.9492816713000001,
0.9366174083000001,
0.9250868713000001,
0.9360851383000001,
0.9296086603000001,
0.9412757703000001,
0.9305709973000001,
0.9433563383000001,
0.9328483643000001,
0.9234778363000001,
0.9411994823000001,
0.9501147403000001,
0.9559593323000001,
0.9364716953000001,
0.9493212363000001,
0.9406622733000001,
0.9539723113000002,
0.9497769683000001,
0.9555531353000001,
0.9487832943000001,
0.9615137793000001,
0.9561215063000001,
0.9718753403000001,
0.9563764693000001,
0.9643665283000001,
0.9637328313000001,
0.9707989003000002,
0.9186347943000001,
0.9741552383000001,
0.9165410013000002,
0.9262016423000001,
0.9540224273000001,
0.9277363903000001,
0.9548339213000001,
0.9273572813000001,
0.9300478423000001,
0.9528168093000001,
0.9275888603000001,
0.9552747403000001,
0.9330515603000001,
0.9566409853000001,
0.9312747113000001,
0.9553285483000001,
0.9258871153000001,
0.9735189993000001,
0.9729769113000001,
0.9651232503000001,
0.9375781063000002,
0.9767990263000002,
0.9542527273000001,
0.9342905783000001,
0.9631512283000001,
0.9617953713000001,
0.9813052893000002,
0.9570536853000001,
0.9289222813000001,
0.9927794953000001,
0.9329621083000001,
1.3391311813,
0.9325888323000001,
0.9621946303000001,
0.9333018313000001,
0.9646547103,
0.9413923583000001,
0.9640935883000001,
0.9897789913000001,
0.9324330013000001,
0.9643400343000001,
0.9848533673000001,
0.9647858223000001,
0.9767217923000001,
0.9635894333000001,
0.9659293263000001,
0.9638130933000001,
0.9872895043000001,
0.9596654163000001,
0.9833496003000001,
0.9814118083000001,
0.9748250483,
0.9946907663000001,
0.9336311843000001,
0.9904872243000001,
0.9579200363000001,
0.9371263093000001,
0.9715577773000001,
0.9408078893000001,
1.0061055943000001,
0.9466207803000001,
0.9793392493000002,
0.9678916383000001,
0.9669369003000001,
0.9402422413000001
0.28789600470000004,
0.29233324270000005,
0.30447699070000006,
0.30604592070000003,
0.2980340227,
0.3042085447,
0.31601446670000005,
0.3013712217,
0.30324271770000005,
0.32785871270000005,
0.31156347370000004,
0.31208932270000006,
0.41121181170000004,
0.31799863570000003,
0.33992077270000004,
0.3369579147,
0.32291744670000005,
0.3400554397,
0.3373144127,
0.32988819370000005,
0.33633534470000004,
0.32649490470000003,
0.24973634970000003,
0.2379149197,
0.29469709670000005,
0.28634381670000003,
0.2975846407,
0.24994015970000005,
0.21708724270000002,
0.22108192570000001,
0.22381864770000004,
0.26313973770000004,
0.2888522747,
0.29970076370000004,
0.30172343970000004,
0.3051582647,
0.3022762097,
0.30299157070000005,
0.3143551627,
0.3003338387,
0.3045328997,
0.32734090270000005,
0.31374024070000006,
0.3149945357,
0.3232337457,
0.3146408217,
0.31715429170000004,
0.34547788170000004,
0.32486034370000005,
0.32440604970000003,
0.3452610607,
0.33209796170000005,
0.3268754427,
0.34545075970000005,
0.3295807727,
0.32884609670000003,
0.3455743927,
0.33288479270000004,
0.32795059870000004,
0.3365149297,
0.32855343470000004,
0.33339330570000003,
0.3473504217,
0.3321817737,
0.32830522870000006,
0.34760668070000006,
0.32824177870000004,
0.33336813270000004,
0.3395041267,
0.32442966170000004,
0.32838544070000003,
0.3374683357,
0.3297805757,
0.3391899057,
0.34050074170000005,
0.32646351970000004,
0.33531602070000005,
0.33838851670000003,
0.31628309870000004,
0.3377080477,
0.33689578670000003,
0.33373161570000004,
0.32770362470000003,
0.3299733167,
0.32683999970000005,
0.34766178770000006,
0.32503415170000005,
0.32846571970000005,
0.34563105270000005,
0.33034485770000005,
0.3304866677,
0.34363647570000005,
0.33028165070000004,
0.2875129417,
0.25051270070000003,
0.27724555770000003,
0.27341198070000006,
0.29751710670000003,
0.28160194070000005,
0.2110023297
],
"exit_codes": [
0,

View File

@ -0,0 +1,218 @@
{
"results": [
{
"command": "for run in {1..100}; do target/release/aoc2025 3; done",
"mean": 0.2858219798399999,
"stddev": 0.11911241840008398,
"median": 0.2780274708,
"user": 0.13235246999999994,
"system": 0.15105486,
"min": 0.1617816493,
"max": 0.4466764503,
"times": [
0.27788059230000006,
0.2339800653,
0.30596414530000005,
0.3035362233,
0.3450809993,
0.38581612130000004,
0.3789666803,
0.43647181030000004,
0.42590342830000005,
0.31160748330000004,
0.32686600930000004,
0.3351626803,
0.38901525230000006,
0.39305780130000006,
0.35875977830000005,
0.1675035133,
0.1722495683,
0.1732900133,
0.1650050793,
0.1776681703,
0.1691414903,
0.1637963703,
0.1672267273,
0.1617816493,
0.1631604783,
0.1652634953,
0.1629138223,
0.1650890333,
0.1648178853,
0.1637581273,
0.1643174363,
0.1636355433,
0.1640868523,
0.1647233763,
0.1639534483,
0.1621999673,
0.1637627413,
0.1648785603,
0.1635657323,
0.1697515313,
0.1665315373,
0.1664922383,
0.1636477263,
0.2015597083,
0.4399764453,
0.43566508130000003,
0.43843071530000005,
0.43717739930000005,
0.44117839430000005,
0.4383437143,
0.44289095930000005,
0.4466764503,
0.4340191983,
0.38891430530000004,
0.31792457430000004,
0.2781743493,
0.29652729530000005,
0.32400008430000005,
0.32573575130000004,
0.3552500223,
0.35653021730000006,
0.39221699330000004,
0.41257687630000006,
0.4055779453,
0.43111143530000007,
0.40042304130000006,
0.4412894613,
0.41781259530000003,
0.1854528053,
0.1701201473,
0.1779843383,
0.1683290163,
0.1667868963,
0.1811534223,
0.1681221393,
0.1662736183,
0.1715112723,
0.1702715243,
0.1678216483,
0.1684258623,
0.1685099203,
0.1660978933,
0.1630387413,
0.1848142833,
0.1995848083,
0.1675094073,
0.2163439033,
0.4370722463,
0.44037415930000007,
0.43945498130000005,
0.43611861930000007,
0.44157850230000006,
0.43407264630000003,
0.4394844613,
0.43866582230000006,
0.4372620253,
0.43830210030000005,
0.44074636130000006,
0.4378032733,
0.4408469393
],
"exit_codes": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
]
}

View File

@ -0,0 +1,218 @@
{
"results": [
{
"command": "python 3-1.py",
"mean": 0.04121359861,
"stddev": 0.01925979464565644,
"median": 0.03321260526,
"user": 0.033925540000000004,
"system": 0.006530669999999996,
"min": 0.02099105726,
"max": 0.08260498326,
"times": [
0.051904651260000004,
0.07081237026000001,
0.07550464926,
0.07386956426,
0.05226041826000001,
0.02245401626,
0.021673267260000004,
0.022984726260000005,
0.021070968260000003,
0.022354786260000002,
0.02207817326,
0.02265223326,
0.022228742260000003,
0.021890656260000002,
0.027320925260000004,
0.027147791260000005,
0.02660499526,
0.033888322260000006,
0.05204111326000001,
0.07783879126000001,
0.07545674326,
0.07537733826000001,
0.07891184926,
0.07663281226,
0.08194317426,
0.07275445526,
0.02677728226,
0.02146064626,
0.02126091226,
0.022596147260000005,
0.025912396260000005,
0.02637571726,
0.029881821260000004,
0.032719728260000004,
0.037371311260000005,
0.04147204526000001,
0.02693493626,
0.02099105726,
0.021683471260000003,
0.02325691926,
0.030879524260000006,
0.037412061260000004,
0.053491290260000005,
0.057412962260000006,
0.05373986226000001,
0.028096754260000002,
0.06869860526,
0.07218100526,
0.05327467526,
0.025161592260000004,
0.024661289260000004,
0.02454142426,
0.025319026260000002,
0.03712941226,
0.049977244260000005,
0.07055158726,
0.048365752260000006,
0.05857217026,
0.06317722226,
0.04863136826,
0.06011220426000001,
0.041733240260000005,
0.047502842260000004,
0.038220037260000006,
0.058726324260000004,
0.061521019260000004,
0.024227173260000005,
0.029794275260000003,
0.03370548226,
0.04198545126,
0.044787625260000005,
0.05080426326,
0.047328115260000005,
0.025825472260000003,
0.02565365126,
0.026707547260000006,
0.027339551260000004,
0.025979196260000004,
0.027713986260000004,
0.030965964260000006,
0.07263531026,
0.05937729026000001,
0.02620647526,
0.030743662260000006,
0.03128535526,
0.04805048926,
0.08260498326,
0.07357149826,
0.046451266260000006,
0.025180880260000003,
0.028250977260000004,
0.036459030260000004,
0.07202390626,
0.045909026260000006,
0.021836287260000004,
0.02222378926,
0.022240946260000005,
0.021696904260000004,
0.021384970260000004,
0.02296663626
],
"exit_codes": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB