perf: switch to hashbrown hashmap in the function registry (#399) #1010
GitHub Actions / Bencher Report
succeeded
Mar 29, 2025 in 0s
Bencher Report
Branch | main |
Testbed | windows-gha |
Click to view all benchmark results
Benchmark | Latency | Benchmark Result nanoseconds (ns) (Result Ξ%) | Upper Boundary nanoseconds (ns) (Limit %) |
---|---|---|---|
component/access Lua | π view plot π· view threshold | 5,120.80 ns(-12.09%)Baseline: 5,825.27 ns | 7,079.95 ns (72.33%) |
component/access Rhai | π view plot π· view threshold | 8,350.80 ns(+2.35%)Baseline: 8,159.01 ns | 8,784.90 ns (95.06%) |
component/get Lua | π view plot π· view threshold | 3,196.70 ns(-2.97%)Baseline: 3,294.47 ns | 3,758.38 ns (85.06%) |
component/get Rhai | π view plot π· view threshold | 6,245.30 ns(+11.08%)Baseline: 5,622.17 ns | 6,626.35 ns (94.25%) |
conversions/Mut::from | π view plot π· view threshold | 291.37 ns(+35.82%)Baseline: 214.52 ns | 386.93 ns (75.30%) |
conversions/Ref::from | π view plot π· view threshold | 288.89 ns(+37.99%)Baseline: 209.36 ns | 376.18 ns (76.80%) |
conversions/ScriptValue::List | π view plot π· view threshold | 556.82 ns(-17.87%)Baseline: 677.98 ns | 961.31 ns (57.92%) |
conversions/ScriptValue::Map | π view plot π· view threshold | 1,592.60 ns(-13.57%)Baseline: 1,842.55 ns | 2,361.39 ns (67.44%) |
conversions/ScriptValue::Reference::from_into | π view plot π· view threshold | 106.46 ns(+78.86%)Baseline: 59.52 ns | 126.09 ns (84.43%) |
conversions/Val::from_into | π view plot π· view threshold | 318.22 ns(-13.38%)Baseline: 367.38 ns | 443.12 ns (71.81%) |
function/call 4 args Lua | π view plot π· view threshold | 2,650.70 ns(+1.12%)Baseline: 2,621.30 ns | 2,938.34 ns (90.21%) |
function/call 4 args Rhai | π view plot π· view threshold | 2,384.80 ns(+4.73%)Baseline: 2,277.15 ns | 2,508.79 ns (95.06%) |
function/call Lua | π view plot π· view threshold | 296.32 ns(+3.91%)Baseline: 285.18 ns | 333.99 ns (88.72%) |
function/call Rhai | π view plot π· view threshold | 582.50 ns(+7.76%)Baseline: 540.53 ns | 632.79 ns (92.05%) |
math/vec mat ops Lua | π view plot π· view threshold | 8,914.20 ns(-7.47%)Baseline: 9,633.52 ns | 11,501.23 ns (77.51%) |
math/vec mat ops Rhai | π view plot π· view threshold | 8,604.00 ns(-7.13%)Baseline: 9,264.85 ns | 10,664.47 ns (80.68%) |
query/10 entities Lua | π view plot π· view threshold | 26,753.00 ns(-1.48%)Baseline: 27,155.08 ns | 29,801.05 ns (89.77%) |
query/10 entities Rhai | π view plot π· view threshold | 32,596.00 ns(+5.20%)Baseline: 30,985.46 ns | 33,968.30 ns (95.96%) |
query/100 entities Lua | π view plot π· view threshold | 55,196.00 ns(+0.40%)Baseline: 54,974.85 ns | 62,772.04 ns (87.93%) |
query/100 entities Rhai | π view plot π· view threshold | 54,404.00 ns(-1.31%)Baseline: 55,128.38 ns | 63,478.44 ns (85.70%) |
query/1000 entities Lua | π view plot π· view threshold | 345,640.00 ns(-9.84%)Baseline: 383,343.85 ns | 461,744.47 ns (74.86%) |
query/1000 entities Rhai | π view plot π· view threshold | 339,070.00 ns(+0.38%)Baseline: 337,790.00 ns | 425,311.92 ns (79.72%) |
reflection/10 Lua | π view plot π· view threshold | 8,230.10 ns(-5.23%)Baseline: 8,684.36 ns | 9,759.39 ns (84.33%) |
reflection/10 Rhai | π view plot π· view threshold | 21,687.00 ns(-1.02%)Baseline: 21,911.23 ns | 23,122.83 ns (93.79%) |
reflection/100 Lua | π view plot π· view threshold | 67,822.00 ns(-3.35%)Baseline: 70,172.92 ns | 77,655.56 ns (87.34%) |
reflection/100 Rhai | π view plot π· view threshold | 934,890.00 ns(+0.80%)Baseline: 927,466.92 ns | 958,717.62 ns (97.51%) |
resource/access Lua | π view plot π· view threshold | 4,677.80 ns(-11.03%)Baseline: 5,257.97 ns | 6,542.10 ns (71.50%) |
resource/access Rhai | π view plot π· view threshold | 7,364.40 ns(-0.03%)Baseline: 7,366.59 ns | 8,109.67 ns (90.81%) |
resource/get Lua | π view plot π· view threshold | 2,796.80 ns(-0.77%)Baseline: 2,818.59 ns | 3,190.62 ns (87.66%) |
resource/get Rhai | π view plot π· view threshold | 5,430.30 ns(+11.35%)Baseline: 4,876.61 ns | 5,669.27 ns (95.78%) |
Loading