📊 optiVLSI Benchmark Report

🖥️ N/A 🐍 Python 3.11.15 ⏱️ 45 benchmarks

Total Benchmarks

45

Algorithms Tested

5

Fastest Mean

161.3μs

Bellman Ford

size = 50
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 182.71 156.57 259.27 167.15 5
× 1.0
NetworkX 1105.22 1085.97 1426.27 1099.03 655
× 6.0
Pythonic 50609.78 50432.16 50840.41 50603.59 20
× 277.0
size = 100
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 1669.38 1612.59 1777.41 1671.47 558
× 1.0
NetworkX 4143.76 4079.44 4491.42 4134.23 232
× 2.5
Pythonic 430826.07 429534.02 434432.22 429935.01 5
× 258.1
size = 200
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 13781.68 13724.32 13836.02 13783.11 70
× 1.0
NetworkX 15887.91 15456.73 18722.70 15731.54 64
× 1.2
Pythonic 3429501.18 3401929.46 3445397.13 3430793.84 5
× 248.8

Dijkstra

size = 50
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 309.80 262.52 432.31 285.41 5
× 1.0
Pythonic 316.94 306.40 635.73 313.20 2564
× 1.0
NetworkX 620.17 581.56 1291.60 604.88 829
× 2.0
size = 100
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 527.98 505.82 824.58 526.23 1647
× 1.0
Pythonic 1332.22 1302.92 1742.93 1328.75 685
× 2.5
NetworkX 2127.89 1924.28 70452.94 1958.35 416
× 4.0
size = 175
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 1794.85 1757.89 2080.48 1784.79 523
× 1.0
Pythonic 4312.65 4243.20 4716.36 4304.20 227
× 2.4
NetworkX 6453.61 6301.37 6958.91 6439.84 152
× 3.6

Kruskal

size = 50
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 205.76 164.87 265.72 189.46 5
× 1.0
Pythonic 750.55 731.33 1044.25 748.82 1153
× 3.6
NetworkX 1378.05 1287.17 1926.52 1335.72 482
× 6.7
size = 100
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 278.29 265.80 532.09 274.76 2590
× 1.0
Pythonic 2832.99 2798.75 3273.99 2822.33 344
× 10.2
NetworkX 5398.93 4643.35 92104.98 4835.81 200
× 19.4
size = 200
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 697.49 675.01 785.17 697.13 1100
× 1.0
Pythonic 10903.76 10780.72 11539.57 10846.35 89
× 15.6
NetworkX 22358.94 17929.69 118030.88 18701.13 54
× 32.1

Lee

size = 50
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 161.32 136.69 236.17 139.66 5
× 1.0
Pythonic 1001.15 978.58 1406.94 995.58 724
× 6.2
NetworkX 7214.03 7031.60 7417.41 7210.65 122
× 44.7
size = 100
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 381.25 365.71 604.53 379.32 2373
× 1.0
Pythonic 3977.61 3950.95 4202.44 3970.67 242
× 10.4
NetworkX 34745.67 30452.17 118626.35 32114.39 31
× 91.1
size = 200
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 1413.42 1388.03 1699.44 1410.74 628
× 1.0
Pythonic 16255.74 16026.44 19012.58 16193.75 62
× 11.5
NetworkX 162978.37 138386.26 235020.21 140219.83 8
× 115.3

Prim

size = 50
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 313.31 278.76 396.27 303.34 5
× 1.0
Pythonic 892.08 866.05 1326.56 889.30 842
× 2.8
NetworkX 1024.19 973.78 1451.67 1015.24 664
× 3.3
size = 100
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 1617.00 1596.86 1925.66 1613.75 566
× 1.0
Pythonic 3282.43 3223.10 3869.56 3271.17 254
× 2.0
NetworkX 3582.53 3510.80 4691.66 3566.84 254
× 2.2
size = 200
Variant Mean (μs) Min (μs) Max (μs) Median (μs) Rounds vs Fastest
Numba 15616.13 15488.77 16075.62 15599.26 63
× 1.0
NetworkX 18907.78 13552.39 115329.24 14809.15 65
× 1.2
Pythonic 19741.01 17553.51 21462.44 19644.86 46
× 1.3

⚡ Numba Speedup Summary

Algorithm Size Pythonic → Numba NetworkX → Numba
Bellman Ford 50 277.0x 6.0x
Bellman Ford 100 258.1x 2.5x
Bellman Ford 200 248.8x 1.2x
Dijkstra 50 1.0x 2.0x
Dijkstra 100 2.5x 4.0x
Dijkstra 175 2.4x 3.6x
Kruskal 50 3.6x 6.7x
Kruskal 100 10.2x 19.4x
Kruskal 200 15.6x 32.1x
Lee 50 6.2x 44.7x
Lee 100 10.4x 91.1x
Lee 200 11.5x 115.3x
Prim 50 2.8x 3.3x
Prim 100 2.0x 2.2x
Prim 200 1.3x 1.2x