Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

test: update web3signer e2e tests to verify deneb signatures #6630

Merged
merged 1 commit into from
Apr 5, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Apr 4, 2024

Motivation

Ensure we are compatible with latest web3signer version and verify deneb signatures

Description

  • update web3signer to latest version (v24.2.0)
  • verify deneb block signatures

@nflaig nflaig requested a review from a team as a code owner April 4, 2024 16:52
Copy link

codecov bot commented Apr 4, 2024

Codecov Report

Merging #6630 (b6ee93c) into unstable (2ee8ac6) will not change coverage.
The diff coverage is n/a.

❗ Current head b6ee93c differs from pull request most recent head 100d1f5. Consider uploading reports for the commit 100d1f5 to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6630   +/-   ##
=========================================
  Coverage     61.69%   61.69%           
=========================================
  Files           556      556           
  Lines         58820    58820           
  Branches       1887     1887           
=========================================
  Hits          36287    36287           
  Misses        22492    22492           
  Partials         41       41           

@nflaig nflaig force-pushed the nflaig/web3signer-deneb branch from b6ee93c to 100d1f5 Compare April 4, 2024 17:16
Copy link
Contributor

github-actions bot commented Apr 4, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: af6f712 Previous: fd6691d Ratio
Object set x1000 28.214 ns/op 100.30 ns/op 0.28
Map set x1000 18.672 ns/op 70.250 ns/op 0.27
fastMsgIdFn sha256 / 10000 bytes 53.675 us/op 174.49 us/op 0.31
send data - 1000 256B messages 10.207 ms/op 38.742 ms/op 0.26
Set add up to 64 items then delete first 1.8160 us/op 6.0431 us/op 0.30
Set add up to 64 items then delete last 2.0122 us/op 6.4691 us/op 0.31
Set add up to 64 items then delete middle 2.0083 us/op 6.3289 us/op 0.32
Set add up to 128 items then delete middle 3.8508 us/op 13.026 us/op 0.30
Set add up to 256 items then delete first 8.4110 us/op 29.035 us/op 0.29
OrderedSet add up to 256 items then delete first 11.541 us/op 43.119 us/op 0.27
Set add up to 256 items then delete middle 7.5441 us/op 25.384 us/op 0.30
forkChoice updateHead vc 600000 bc 64 eq 300000 12.201 ms/op 64.066 ms/op 0.19
Full benchmark results
Benchmark suite Current: af6f712 Previous: fd6691d Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 500.06 us/op 620.81 us/op 0.81
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 63.791 us/op 107.81 us/op 0.59
BLS verify - blst-native 1.1355 ms/op 1.3942 ms/op 0.81
BLS verifyMultipleSignatures 3 - blst-native 2.3691 ms/op 3.1441 ms/op 0.75
BLS verifyMultipleSignatures 8 - blst-native 5.3021 ms/op 6.5104 ms/op 0.81
BLS verifyMultipleSignatures 32 - blst-native 19.368 ms/op 26.131 ms/op 0.74
BLS verifyMultipleSignatures 64 - blst-native 38.177 ms/op 47.474 ms/op 0.80
BLS verifyMultipleSignatures 128 - blst-native 75.879 ms/op 98.966 ms/op 0.77
BLS deserializing 10000 signatures 812.48 ms/op 1.0072 s/op 0.81
BLS deserializing 100000 signatures 8.3438 s/op 9.6488 s/op 0.86
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1412 ms/op 1.4968 ms/op 0.76
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2901 ms/op 1.5765 ms/op 0.82
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.0800 ms/op 2.5795 ms/op 0.81
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.1572 ms/op 3.7614 ms/op 1.11
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.0281 ms/op 6.0682 ms/op 0.83
BLS aggregatePubkeys 32 - blst-native 23.159 us/op 28.191 us/op 0.82
BLS aggregatePubkeys 128 - blst-native 90.697 us/op 109.45 us/op 0.83
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 65.295 ms/op 65.792 ms/op 0.99
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 59.508 ms/op 73.319 ms/op 0.81
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 28.803 ms/op 52.892 ms/op 0.54
getSlashingsAndExits - default max 244.32 us/op 277.47 us/op 0.88
getSlashingsAndExits - 2k 359.69 us/op 750.06 us/op 0.48
proposeBlockBody type=full, size=empty 4.6325 ms/op 7.8813 ms/op 0.59
isKnown best case - 1 super set check 352.00 ns/op 676.00 ns/op 0.52
isKnown normal case - 2 super set checks 402.00 ns/op 739.00 ns/op 0.54
isKnown worse case - 16 super set checks 533.00 ns/op 940.00 ns/op 0.57
InMemoryCheckpointStateCache - add get delete 6.3240 us/op 11.012 us/op 0.57
validate api signedAggregateAndProof - struct 2.4838 ms/op 3.5494 ms/op 0.70
validate gossip signedAggregateAndProof - struct 2.4909 ms/op 3.3227 ms/op 0.75
validate gossip attestation - vc 640000 1.1715 ms/op 1.6288 ms/op 0.72
batch validate gossip attestation - vc 640000 - chunk 32 144.58 us/op 217.56 us/op 0.66
batch validate gossip attestation - vc 640000 - chunk 64 125.03 us/op 193.27 us/op 0.65
batch validate gossip attestation - vc 640000 - chunk 128 119.52 us/op 173.35 us/op 0.69
batch validate gossip attestation - vc 640000 - chunk 256 112.29 us/op 169.36 us/op 0.66
pickEth1Vote - no votes 965.58 us/op 1.6141 ms/op 0.60
pickEth1Vote - max votes 9.3436 ms/op 13.899 ms/op 0.67
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.500 ms/op 22.616 ms/op 0.69
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.310 ms/op 29.658 ms/op 0.89
pickEth1Vote - Eth1Data fastSerialize value x2048 563.54 us/op 803.84 us/op 0.70
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.1404 ms/op 6.9345 ms/op 0.89
bytes32 toHexString 945.00 ns/op 937.00 ns/op 1.01
bytes32 Buffer.toString(hex) 405.00 ns/op 390.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 545.00 ns/op 616.00 ns/op 0.88
bytes32 Buffer.toString(hex) + 0x 403.00 ns/op 350.00 ns/op 1.15
Object access 1 prop 0.23600 ns/op 0.24100 ns/op 0.98
Map access 1 prop 0.21100 ns/op 0.19300 ns/op 1.09
Object get x1000 5.5370 ns/op 8.3760 ns/op 0.66
Map get x1000 0.79400 ns/op 1.0780 ns/op 0.74
Object set x1000 28.214 ns/op 100.30 ns/op 0.28
Map set x1000 18.672 ns/op 70.250 ns/op 0.27
Return object 10000 times 0.24180 ns/op 0.41810 ns/op 0.58
Throw Error 10000 times 2.8253 us/op 4.8362 us/op 0.58
fastMsgIdFn sha256 / 200 bytes 2.1540 us/op 4.2730 us/op 0.50
fastMsgIdFn h32 xxhash / 200 bytes 316.00 ns/op 454.00 ns/op 0.70
fastMsgIdFn h64 xxhash / 200 bytes 362.00 ns/op 624.00 ns/op 0.58
fastMsgIdFn sha256 / 1000 bytes 6.5150 us/op 14.700 us/op 0.44
fastMsgIdFn h32 xxhash / 1000 bytes 460.00 ns/op 632.00 ns/op 0.73
fastMsgIdFn h64 xxhash / 1000 bytes 489.00 ns/op 724.00 ns/op 0.68
fastMsgIdFn sha256 / 10000 bytes 53.675 us/op 174.49 us/op 0.31
fastMsgIdFn h32 xxhash / 10000 bytes 1.9160 us/op 3.9450 us/op 0.49
fastMsgIdFn h64 xxhash / 10000 bytes 1.3270 us/op 2.6280 us/op 0.50
send data - 1000 256B messages 10.207 ms/op 38.742 ms/op 0.26
send data - 1000 512B messages 15.888 ms/op 34.250 ms/op 0.46
send data - 1000 1024B messages 23.878 ms/op 47.836 ms/op 0.50
send data - 1000 1200B messages 32.176 ms/op 52.835 ms/op 0.61
send data - 1000 2048B messages 38.913 ms/op 73.144 ms/op 0.53
send data - 1000 4096B messages 35.486 ms/op 62.922 ms/op 0.56
send data - 1000 16384B messages 98.466 ms/op 186.56 ms/op 0.53
send data - 1000 65536B messages 440.94 ms/op 491.11 ms/op 0.90
enrSubnets - fastDeserialize 64 bits 1.1510 us/op 2.0590 us/op 0.56
enrSubnets - ssz BitVector 64 bits 547.00 ns/op 616.00 ns/op 0.89
enrSubnets - fastDeserialize 4 bits 291.00 ns/op 278.00 ns/op 1.05
enrSubnets - ssz BitVector 4 bits 570.00 ns/op 695.00 ns/op 0.82
prioritizePeers score -10:0 att 32-0.1 sync 2-0 85.517 us/op 132.12 us/op 0.65
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 101.19 us/op 176.13 us/op 0.57
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 141.60 us/op 266.88 us/op 0.53
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 212.11 us/op 432.31 us/op 0.49
prioritizePeers score 0:0 att 64-1 sync 4-1 231.88 us/op 456.10 us/op 0.51
array of 16000 items push then shift 1.3482 us/op 2.1317 us/op 0.63
LinkedList of 16000 items push then shift 6.2290 ns/op 10.848 ns/op 0.57
array of 16000 items push then pop 91.060 ns/op 138.36 ns/op 0.66
LinkedList of 16000 items push then pop 6.8000 ns/op 10.310 ns/op 0.66
array of 24000 items push then shift 1.9066 us/op 2.7793 us/op 0.69
LinkedList of 24000 items push then shift 7.0450 ns/op 11.922 ns/op 0.59
array of 24000 items push then pop 146.48 ns/op 185.30 ns/op 0.79
LinkedList of 24000 items push then pop 6.1370 ns/op 11.043 ns/op 0.56
intersect bitArray bitLen 8 5.8270 ns/op 7.2550 ns/op 0.80
intersect array and set length 8 50.066 ns/op 125.45 ns/op 0.40
intersect bitArray bitLen 128 29.573 ns/op 43.679 ns/op 0.68
intersect array and set length 128 726.73 ns/op 1.2057 us/op 0.60
bitArray.getTrueBitIndexes() bitLen 128 1.1560 us/op 2.1220 us/op 0.54
bitArray.getTrueBitIndexes() bitLen 248 1.8110 us/op 4.0590 us/op 0.45
bitArray.getTrueBitIndexes() bitLen 512 3.7110 us/op 7.8210 us/op 0.47
Buffer.concat 32 items 842.00 ns/op 1.3860 us/op 0.61
Uint8Array.set 32 items 1.5520 us/op 2.4530 us/op 0.63
Set add up to 64 items then delete first 1.8160 us/op 6.0431 us/op 0.30
OrderedSet add up to 64 items then delete first 2.7098 us/op 8.0651 us/op 0.34
Set add up to 64 items then delete last 2.0122 us/op 6.4691 us/op 0.31
OrderedSet add up to 64 items then delete last 3.1861 us/op 8.6411 us/op 0.37
Set add up to 64 items then delete middle 2.0083 us/op 6.3289 us/op 0.32
OrderedSet add up to 64 items then delete middle 5.0648 us/op 9.5873 us/op 0.53
Set add up to 128 items then delete first 4.2611 us/op 12.241 us/op 0.35
OrderedSet add up to 128 items then delete first 6.4399 us/op 16.568 us/op 0.39
Set add up to 128 items then delete last 4.1673 us/op 11.956 us/op 0.35
OrderedSet add up to 128 items then delete last 6.5976 us/op 17.125 us/op 0.39
Set add up to 128 items then delete middle 3.8508 us/op 13.026 us/op 0.30
OrderedSet add up to 128 items then delete middle 12.394 us/op 23.700 us/op 0.52
Set add up to 256 items then delete first 8.4110 us/op 29.035 us/op 0.29
OrderedSet add up to 256 items then delete first 11.541 us/op 43.119 us/op 0.27
Set add up to 256 items then delete last 8.8725 us/op 25.406 us/op 0.35
OrderedSet add up to 256 items then delete last 12.576 us/op 34.257 us/op 0.37
Set add up to 256 items then delete middle 7.5441 us/op 25.384 us/op 0.30
OrderedSet add up to 256 items then delete middle 36.508 us/op 57.852 us/op 0.63
transfer serialized Status (84 B) 1.5480 us/op 2.5400 us/op 0.61
copy serialized Status (84 B) 1.1580 us/op 1.8790 us/op 0.62
transfer serialized SignedVoluntaryExit (112 B) 1.4850 us/op 2.7600 us/op 0.54
copy serialized SignedVoluntaryExit (112 B) 1.1220 us/op 2.0820 us/op 0.54
transfer serialized ProposerSlashing (416 B) 1.5890 us/op 3.1190 us/op 0.51
copy serialized ProposerSlashing (416 B) 1.4530 us/op 2.5910 us/op 0.56
transfer serialized Attestation (485 B) 1.5950 us/op 3.3310 us/op 0.48
copy serialized Attestation (485 B) 1.4540 us/op 3.6480 us/op 0.40
transfer serialized AttesterSlashing (33232 B) 1.6470 us/op 3.9440 us/op 0.42
copy serialized AttesterSlashing (33232 B) 3.5500 us/op 11.816 us/op 0.30
transfer serialized Small SignedBeaconBlock (128000 B) 1.8400 us/op 3.5300 us/op 0.52
copy serialized Small SignedBeaconBlock (128000 B) 9.0580 us/op 46.639 us/op 0.19
transfer serialized Avg SignedBeaconBlock (200000 B) 1.8260 us/op 6.6640 us/op 0.27
copy serialized Avg SignedBeaconBlock (200000 B) 14.473 us/op 58.587 us/op 0.25
transfer serialized BlobsSidecar (524380 B) 3.4650 us/op 7.6910 us/op 0.45
copy serialized BlobsSidecar (524380 B) 148.79 us/op 171.73 us/op 0.87
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4080 us/op 8.3190 us/op 0.41
copy serialized Big SignedBeaconBlock (1000000 B) 186.46 us/op 310.73 us/op 0.60
pass gossip attestations to forkchoice per slot 2.6117 ms/op 7.1140 ms/op 0.37
forkChoice updateHead vc 100000 bc 64 eq 0 437.72 us/op 779.40 us/op 0.56
forkChoice updateHead vc 600000 bc 64 eq 0 2.8372 ms/op 5.4028 ms/op 0.53
forkChoice updateHead vc 1000000 bc 64 eq 0 4.5451 ms/op 10.002 ms/op 0.45
forkChoice updateHead vc 600000 bc 320 eq 0 2.6357 ms/op 5.0206 ms/op 0.52
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8485 ms/op 5.1224 ms/op 0.56
forkChoice updateHead vc 600000 bc 7200 eq 0 3.9070 ms/op 6.8263 ms/op 0.57
forkChoice updateHead vc 600000 bc 64 eq 1000 9.9864 ms/op 13.014 ms/op 0.77
forkChoice updateHead vc 600000 bc 64 eq 10000 11.089 ms/op 14.504 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 300000 12.201 ms/op 64.066 ms/op 0.19
computeDeltas 500000 validators 300 proto nodes 3.2890 ms/op 8.4159 ms/op 0.39
computeDeltas 500000 validators 1200 proto nodes 3.1321 ms/op 8.4437 ms/op 0.37
computeDeltas 500000 validators 7200 proto nodes 3.1777 ms/op 8.2029 ms/op 0.39
computeDeltas 750000 validators 300 proto nodes 4.6971 ms/op 11.612 ms/op 0.40
computeDeltas 750000 validators 1200 proto nodes 4.8989 ms/op 11.593 ms/op 0.42
computeDeltas 750000 validators 7200 proto nodes 5.0089 ms/op 11.701 ms/op 0.43
computeDeltas 1400000 validators 300 proto nodes 9.4637 ms/op 23.557 ms/op 0.40
computeDeltas 1400000 validators 1200 proto nodes 10.908 ms/op 23.622 ms/op 0.46
computeDeltas 1400000 validators 7200 proto nodes 10.244 ms/op 23.793 ms/op 0.43
computeDeltas 2100000 validators 300 proto nodes 14.346 ms/op 35.436 ms/op 0.40
computeDeltas 2100000 validators 1200 proto nodes 16.119 ms/op 35.514 ms/op 0.45
computeDeltas 2100000 validators 7200 proto nodes 15.961 ms/op 31.682 ms/op 0.50
altair processAttestation - 250000 vs - 7PWei normalcase 4.4660 ms/op 4.5917 ms/op 0.97
altair processAttestation - 250000 vs - 7PWei worstcase 4.6061 ms/op 5.5144 ms/op 0.84
altair processAttestation - setStatus - 1/6 committees join 152.60 us/op 192.79 us/op 0.79
altair processAttestation - setStatus - 1/3 committees join 301.29 us/op 366.63 us/op 0.82
altair processAttestation - setStatus - 1/2 committees join 337.31 us/op 489.43 us/op 0.69
altair processAttestation - setStatus - 2/3 committees join 444.59 us/op 661.16 us/op 0.67
altair processAttestation - setStatus - 4/5 committees join 561.58 us/op 831.62 us/op 0.68
altair processAttestation - setStatus - 100% committees join 625.35 us/op 1.0683 ms/op 0.59
altair processBlock - 250000 vs - 7PWei normalcase 10.560 ms/op 12.609 ms/op 0.84
altair processBlock - 250000 vs - 7PWei normalcase hashState 40.932 ms/op 40.651 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase 42.003 ms/op 48.478 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase hashState 91.660 ms/op 121.80 ms/op 0.75
phase0 processBlock - 250000 vs - 7PWei normalcase 4.0890 ms/op 3.7135 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 35.939 ms/op 40.072 ms/op 0.90
altair processEth1Data - 250000 vs - 7PWei normalcase 703.82 us/op 892.37 us/op 0.79
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 24.140 us/op 16.627 us/op 1.45
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 113.46 us/op 96.683 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 47.716 us/op 28.957 us/op 1.65
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 32.735 us/op 23.204 us/op 1.41
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 245.94 us/op 236.10 us/op 1.04
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.4026 ms/op 1.9424 ms/op 1.24
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.2934 ms/op 2.8291 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6798 ms/op 2.6506 ms/op 0.63
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 6.1037 ms/op 5.1315 ms/op 1.19
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.0523 ms/op 4.4900 ms/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 14.151 ms/op 6.9666 ms/op 2.03
Tree 40 250000 create 960.11 ms/op 688.80 ms/op 1.39
Tree 40 250000 get(125000) 142.48 ns/op 228.25 ns/op 0.62
Tree 40 250000 set(125000) 2.3739 us/op 1.7505 us/op 1.36
Tree 40 250000 toArray() 28.606 ms/op 28.251 ms/op 1.01
Tree 40 250000 iterate all - toArray() + loop 27.211 ms/op 29.680 ms/op 0.92
Tree 40 250000 iterate all - get(i) 68.577 ms/op 88.023 ms/op 0.78
MutableVector 250000 create 19.870 ms/op 19.451 ms/op 1.02
MutableVector 250000 get(125000) 6.8080 ns/op 7.3000 ns/op 0.93
MutableVector 250000 set(125000) 789.32 ns/op 424.81 ns/op 1.86
MutableVector 250000 toArray() 5.6122 ms/op 4.4063 ms/op 1.27
MutableVector 250000 iterate all - toArray() + loop 5.9539 ms/op 4.6880 ms/op 1.27
MutableVector 250000 iterate all - get(i) 1.4989 ms/op 1.6428 ms/op 0.91
Array 250000 create 5.4195 ms/op 3.9965 ms/op 1.36
Array 250000 clone - spread 9.4742 ms/op 1.7635 ms/op 5.37
Array 250000 get(125000) 4.4440 ns/op 1.8270 ns/op 2.43
Array 250000 set(125000) 3.8690 ns/op 6.0650 ns/op 0.64
Array 250000 iterate all - loop 169.86 us/op 184.78 us/op 0.92
effectiveBalanceIncrements clone Uint8Array 300000 87.113 us/op 68.796 us/op 1.27
effectiveBalanceIncrements clone MutableVector 300000 2.8180 us/op 538.00 ns/op 5.24
effectiveBalanceIncrements rw all Uint8Array 300000 216.68 us/op 215.28 us/op 1.01
effectiveBalanceIncrements rw all MutableVector 300000 294.47 ms/op 159.11 ms/op 1.85
phase0 afterProcessEpoch - 250000 vs - 7PWei 107.72 ms/op 124.58 ms/op 0.86
phase0 beforeProcessEpoch - 250000 vs - 7PWei 65.122 ms/op 63.209 ms/op 1.03
altair processEpoch - mainnet_e81889 640.14 ms/op 575.03 ms/op 1.11
mainnet_e81889 - altair beforeProcessEpoch 144.89 ms/op 103.16 ms/op 1.40
mainnet_e81889 - altair processJustificationAndFinalization 30.568 us/op 19.593 us/op 1.56
mainnet_e81889 - altair processInactivityUpdates 13.132 ms/op 6.7600 ms/op 1.94
mainnet_e81889 - altair processRewardsAndPenalties 71.829 ms/op 65.148 ms/op 1.10
mainnet_e81889 - altair processRegistryUpdates 2.9590 us/op 4.1800 us/op 0.71
mainnet_e81889 - altair processSlashings 664.00 ns/op 675.00 ns/op 0.98
mainnet_e81889 - altair processEth1DataReset 987.00 ns/op 855.00 ns/op 1.15
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2020 ms/op 1.4614 ms/op 0.82
mainnet_e81889 - altair processSlashingsReset 5.5520 us/op 4.1840 us/op 1.33
mainnet_e81889 - altair processRandaoMixesReset 10.707 us/op 6.6010 us/op 1.62
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0600 us/op 958.00 ns/op 1.11
mainnet_e81889 - altair processParticipationFlagUpdates 2.5080 us/op 2.3400 us/op 1.07
mainnet_e81889 - altair processSyncCommitteeUpdates 1.0650 us/op 1.6600 us/op 0.64
mainnet_e81889 - altair afterProcessEpoch 82.053 ms/op 127.71 ms/op 0.64
capella processEpoch - mainnet_e217614 1.6964 s/op 2.8245 s/op 0.60
mainnet_e217614 - capella beforeProcessEpoch 469.85 ms/op 636.64 ms/op 0.74
mainnet_e217614 - capella processJustificationAndFinalization 19.250 us/op 25.213 us/op 0.76
mainnet_e217614 - capella processInactivityUpdates 20.467 ms/op 24.060 ms/op 0.85
mainnet_e217614 - capella processRewardsAndPenalties 558.78 ms/op 665.11 ms/op 0.84
mainnet_e217614 - capella processRegistryUpdates 26.019 us/op 23.346 us/op 1.11
mainnet_e217614 - capella processSlashings 790.00 ns/op 664.00 ns/op 1.19
mainnet_e217614 - capella processEth1DataReset 631.00 ns/op 1.0470 us/op 0.60
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.6540 ms/op 4.9622 ms/op 0.74
mainnet_e217614 - capella processSlashingsReset 3.2450 us/op 7.4350 us/op 0.44
mainnet_e217614 - capella processRandaoMixesReset 6.1350 us/op 6.6820 us/op 0.92
mainnet_e217614 - capella processHistoricalRootsUpdate 953.00 ns/op 614.00 ns/op 1.55
mainnet_e217614 - capella processParticipationFlagUpdates 2.0720 us/op 1.7520 us/op 1.18
mainnet_e217614 - capella afterProcessEpoch 213.54 ms/op 368.84 ms/op 0.58
phase0 processEpoch - mainnet_e58758 357.93 ms/op 509.68 ms/op 0.70
mainnet_e58758 - phase0 beforeProcessEpoch 114.39 ms/op 164.30 ms/op 0.70
mainnet_e58758 - phase0 processJustificationAndFinalization 12.399 us/op 23.981 us/op 0.52
mainnet_e58758 - phase0 processRewardsAndPenalties 57.902 ms/op 61.084 ms/op 0.95
mainnet_e58758 - phase0 processRegistryUpdates 15.100 us/op 19.490 us/op 0.77
mainnet_e58758 - phase0 processSlashings 1.1790 us/op 902.00 ns/op 1.31
mainnet_e58758 - phase0 processEth1DataReset 1.3260 us/op 772.00 ns/op 1.72
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 958.71 us/op 1.2279 ms/op 0.78
mainnet_e58758 - phase0 processSlashingsReset 5.5020 us/op 5.7260 us/op 0.96
mainnet_e58758 - phase0 processRandaoMixesReset 9.4160 us/op 6.2660 us/op 1.50
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.3250 us/op 479.00 ns/op 2.77
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.9110 us/op 4.7440 us/op 1.25
mainnet_e58758 - phase0 afterProcessEpoch 71.639 ms/op 118.29 ms/op 0.61
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0338 ms/op 1.5829 ms/op 0.65
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.7037 ms/op 1.6433 ms/op 1.04
altair processInactivityUpdates - 250000 normalcase 28.195 ms/op 29.956 ms/op 0.94
altair processInactivityUpdates - 250000 worstcase 31.081 ms/op 26.592 ms/op 1.17
phase0 processRegistryUpdates - 250000 normalcase 10.006 us/op 10.034 us/op 1.00
phase0 processRegistryUpdates - 250000 badcase_full_deposits 474.31 us/op 462.83 us/op 1.02
phase0 processRegistryUpdates - 250000 worstcase 0.5 134.19 ms/op 168.08 ms/op 0.80
altair processRewardsAndPenalties - 250000 normalcase 74.608 ms/op 69.717 ms/op 1.07
altair processRewardsAndPenalties - 250000 worstcase 77.834 ms/op 64.826 ms/op 1.20
phase0 getAttestationDeltas - 250000 normalcase 8.6771 ms/op 12.339 ms/op 0.70
phase0 getAttestationDeltas - 250000 worstcase 8.2947 ms/op 13.535 ms/op 0.61
phase0 processSlashings - 250000 worstcase 90.411 us/op 112.46 us/op 0.80
altair processSyncCommitteeUpdates - 250000 117.02 ms/op 182.12 ms/op 0.64
BeaconState.hashTreeRoot - No change 576.00 ns/op 282.00 ns/op 2.04
BeaconState.hashTreeRoot - 1 full validator 100.50 us/op 143.49 us/op 0.70
BeaconState.hashTreeRoot - 32 full validator 1.1958 ms/op 1.5903 ms/op 0.75
BeaconState.hashTreeRoot - 512 full validator 13.708 ms/op 21.045 ms/op 0.65
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 134.94 us/op 229.47 us/op 0.59
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0190 ms/op 3.0160 ms/op 0.67
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 21.666 ms/op 39.009 ms/op 0.56
BeaconState.hashTreeRoot - 1 balances 95.283 us/op 174.55 us/op 0.55
BeaconState.hashTreeRoot - 32 balances 837.58 us/op 1.2927 ms/op 0.65
BeaconState.hashTreeRoot - 512 balances 10.425 ms/op 13.350 ms/op 0.78
BeaconState.hashTreeRoot - 250000 balances 170.22 ms/op 222.95 ms/op 0.76
aggregationBits - 2048 els - zipIndexesInBitList 20.709 us/op 53.452 us/op 0.39
byteArrayEquals 32 66.047 ns/op 94.758 ns/op 0.70
Buffer.compare 32 38.360 ns/op 67.674 ns/op 0.57
byteArrayEquals 1024 1.7906 us/op 2.4023 us/op 0.75
Buffer.compare 1024 47.376 ns/op 86.543 ns/op 0.55
byteArrayEquals 16384 29.018 us/op 44.870 us/op 0.65
Buffer.compare 16384 197.49 ns/op 353.61 ns/op 0.56
byteArrayEquals 123687377 208.49 ms/op 327.30 ms/op 0.64
Buffer.compare 123687377 6.8935 ms/op 13.746 ms/op 0.50
byteArrayEquals 32 - diff last byte 60.170 ns/op 111.74 ns/op 0.54
Buffer.compare 32 - diff last byte 37.082 ns/op 70.890 ns/op 0.52
byteArrayEquals 1024 - diff last byte 1.6770 us/op 2.9195 us/op 0.57
Buffer.compare 1024 - diff last byte 49.307 ns/op 93.693 ns/op 0.53
byteArrayEquals 16384 - diff last byte 26.691 us/op 49.712 us/op 0.54
Buffer.compare 16384 - diff last byte 228.40 ns/op 429.68 ns/op 0.53
byteArrayEquals 123687377 - diff last byte 212.88 ms/op 330.45 ms/op 0.64
Buffer.compare 123687377 - diff last byte 6.5932 ms/op 12.081 ms/op 0.55
byteArrayEquals 32 - random bytes 5.5070 ns/op 10.267 ns/op 0.54
Buffer.compare 32 - random bytes 41.833 ns/op 73.982 ns/op 0.57
byteArrayEquals 1024 - random bytes 5.5980 ns/op 7.5750 ns/op 0.74
Buffer.compare 1024 - random bytes 41.571 ns/op 70.097 ns/op 0.59
byteArrayEquals 16384 - random bytes 5.2570 ns/op 7.9320 ns/op 0.66
Buffer.compare 16384 - random bytes 38.943 ns/op 71.232 ns/op 0.55
byteArrayEquals 123687377 - random bytes 14.280 ns/op 20.920 ns/op 0.68
Buffer.compare 123687377 - random bytes 54.180 ns/op 88.210 ns/op 0.61
regular array get 100000 times 44.717 us/op 54.936 us/op 0.81
wrappedArray get 100000 times 43.254 us/op 57.468 us/op 0.75
arrayWithProxy get 100000 times 10.246 ms/op 21.973 ms/op 0.47
ssz.Root.equals 56.789 ns/op 88.856 ns/op 0.64
byteArrayEquals 56.732 ns/op 65.952 ns/op 0.86
Buffer.compare 13.458 ns/op 14.146 ns/op 0.95
shuffle list - 16384 els 5.8122 ms/op 10.044 ms/op 0.58
shuffle list - 250000 els 86.430 ms/op 157.09 ms/op 0.55
processSlot - 1 slots 16.058 us/op 25.239 us/op 0.64
processSlot - 32 slots 2.7959 ms/op 4.9789 ms/op 0.56
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 53.550 ms/op 80.299 ms/op 0.67
getCommitteeAssignments - req 1 vs - 250000 vc 2.4249 ms/op 3.2169 ms/op 0.75
getCommitteeAssignments - req 100 vs - 250000 vc 3.5867 ms/op 4.5701 ms/op 0.78
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8726 ms/op 5.0196 ms/op 0.77
findModifiedValidators - 10000 modified validators 325.95 ms/op 547.42 ms/op 0.60
findModifiedValidators - 1000 modified validators 186.14 ms/op 328.85 ms/op 0.57
findModifiedValidators - 100 modified validators 159.96 ms/op 286.11 ms/op 0.56
findModifiedValidators - 10 modified validators 158.98 ms/op 304.41 ms/op 0.52
findModifiedValidators - 1 modified validators 167.98 ms/op 335.33 ms/op 0.50
findModifiedValidators - no difference 173.17 ms/op 351.17 ms/op 0.49
compare ViewDUs 4.4088 s/op 6.3913 s/op 0.69
compare each validator Uint8Array 1.7607 s/op 2.0033 s/op 0.88
compare ViewDU to Uint8Array 945.74 ms/op 1.8226 s/op 0.52
migrate state 1000000 validators, 24 modified, 0 new 658.50 ms/op 1.1061 s/op 0.60
migrate state 1000000 validators, 1700 modified, 1000 new 1.0538 s/op 1.4178 s/op 0.74
migrate state 1000000 validators, 3400 modified, 2000 new 1.0955 s/op 1.6705 s/op 0.66
migrate state 1500000 validators, 24 modified, 0 new 675.33 ms/op 1.1009 s/op 0.61
migrate state 1500000 validators, 1700 modified, 1000 new 948.09 ms/op 1.4537 s/op 0.65
migrate state 1500000 validators, 3400 modified, 2000 new 1.1816 s/op 1.7895 s/op 0.66
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6300 ns/op 6.2200 ns/op 0.74
state getBlockRootAtSlot - 250000 vs - 7PWei 799.00 ns/op 843.25 ns/op 0.95
computeProposers - vc 250000 7.2879 ms/op 11.986 ms/op 0.61
computeEpochShuffling - vc 250000 88.341 ms/op 151.46 ms/op 0.58
getNextSyncCommittee - vc 250000 110.53 ms/op 205.89 ms/op 0.54
computeSigningRoot for AttestationData 24.489 us/op 38.357 us/op 0.64
hash AttestationData serialized data then Buffer.toString(base64) 1.2534 us/op 2.8453 us/op 0.44
toHexString serialized data 793.68 ns/op 1.8004 us/op 0.44
Buffer.toString(base64) 158.84 ns/op 323.37 ns/op 0.49

by benchmarkbot/action

@nazarhussain nazarhussain merged commit 3226411 into unstable Apr 5, 2024
22 checks passed
@nazarhussain nazarhussain deleted the nflaig/web3signer-deneb branch April 5, 2024 14:56
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.18.0 🎉

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants