Closed twoeths closed 1 day ago
Possible performance regression was detected for some benchmarks. Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.
Benchmark suite | Current: db5d962f247e4f74bbe31a0e9c713dffa65d5a4e | Previous: cd98c237683456be7959d752bbd7d10f8b02b8ec | Ratio |
---|---|---|---|
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 9.0531 ms/op | 2.7366 ms/op | 3.31 |
Array.fill - length 1000000 | 8.3394 ms/op | 2.4610 ms/op | 3.39 |
Array push - length 1000000 | 52.419 ms/op | 14.302 ms/op | 3.67 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 7.4445 ms/op | 1.4955 ms/op | 4.98 |
Buffer.compare 123687377 | 12.803 ms/op | 3.7482 ms/op | 3.42 |
by benchmarkbot/action
Attention: Patch coverage is 46.15385%
with 7 lines
in your changes missing coverage. Please review.
Project coverage is 50.82%. Comparing base (
cd98c23
) to head (0edc38f
). Report is 13 commits behind head on unstable.
gc
has been reduced with this PR. I guess that's because we don't have to convert to string for the map thanks to the default trait implementation Rust, this is amazing @wemeetagain
this is on a mainnet node
Only thing we need to ensure is that @chainsafe/pubkey-index-map supports all the necessary platforms we want to support
Only thing we need to ensure is that @chainsafe/pubkey-index-map supports all the necessary platforms we want to support
my understand is @chainsafe/pubkey-index-map
does not have native dependencies like in @chainsafe/blst
or @chainsafe/hashtree
so perhaps we're safe
would like @matthewkeil to confirm this, this is the same situation to the napi-rs
work we're gonna do for epoch shuffling computation
Only thing we need to ensure is that @chainsafe/pubkey-index-map supports all the necessary platforms we want to support
my understand is
@chainsafe/pubkey-index-map
does not have native dependencies like in@chainsafe/blst
or@chainsafe/hashtree
so perhaps we're safewould like @matthewkeil to confirm this, this is the same situation to the
napi-rs
work we're gonna do for epoch shuffling computation
Platforms look ok. I would think we do not want to support musl because of the performance aspect but not sure how important that is relative to having "support for everything"... 🤷♂️ I think its ok as is though.
metrics after ~9h of deployment on the unstable mainnet node
both heap and gc are improved a little bit
Motivation
Description
"@chainsafe/pubkey-index-map
napi-rs implementationbenchmark on Mac M1 is comparable to the current PubkeyIndexMap:
see also https://github.com/ChainSafe/lodestar/pull/7022#issuecomment-2291984293