Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: emit eventstream events with incoming gossip #5596

Merged
merged 1 commit into from
Jun 26, 2023

Conversation

dapplion
Copy link
Contributor

@dapplion dapplion commented Jun 1, 2023

Motivation

Beacon APIs spec require to emit events for both data received on a block or p2p

Block is already emitted for all paths if valid (fully imported)

            block:
              description: The node has received a valid block (from P2P or API)

https://github.com/ethereum/beacon-APIs/blob/2a15cc71cf8473e1013713de98d0aacf8bf2ea05/apis/eventstream/index.yaml#L51

Attestation, must emit for API and P2P (added in this PR) and optional from block (already in stable)

            attestation:
              description: The node has received a valid attestation (from P2P or API)

https://github.com/ethereum/beacon-APIs/blob/2a15cc71cf8473e1013713de98d0aacf8bf2ea05/apis/eventstream/index.yaml#L55-L56

Same for rest:

            voluntary_exit:
              description: The node has received a valid voluntary exit (from P2P or API)

https://github.com/ethereum/beacon-APIs/blob/2a15cc71cf8473e1013713de98d0aacf8bf2ea05/apis/eventstream/index.yaml#L60-L61

            bls_to_execution_change:
              description: The node has received a BLS to execution change (from P2P or API)

https://github.com/ethereum/beacon-APIs/blob/2a15cc71cf8473e1013713de98d0aacf8bf2ea05/apis/eventstream/index.yaml#L65-L66

            contribution_and_proof:
              description: The node has received a valid sync committee SignedContributionAndProof (from P2P or API)

https://github.com/ethereum/beacon-APIs/blob/2a15cc71cf8473e1013713de98d0aacf8bf2ea05/apis/eventstream/index.yaml#L80-L81

Description

Emit attestation, voluntary_exit, bls_to_execution_change, and contribution_and_proof on gossip handler and API handler

Closes #5430

@dapplion dapplion requested a review from a team as a code owner June 1, 2023 08:38
@dapplion dapplion changed the title Emit eventstream events with incoming gossip feat: emit eventstream events with incoming gossip Jun 1, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jun 1, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 533a0d2 Previous: 6638ea7 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 494.12 us/op 932.22 us/op 0.53
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 45.133 us/op 47.013 us/op 0.96
BLS verify - blst-native 1.2177 ms/op 1.2171 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.4342 ms/op 2.4775 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst-native 5.2295 ms/op 5.3183 ms/op 0.98
BLS verifyMultipleSignatures 32 - blst-native 19.036 ms/op 19.206 ms/op 0.99
BLS aggregatePubkeys 32 - blst-native 25.429 us/op 25.951 us/op 0.98
BLS aggregatePubkeys 128 - blst-native 98.902 us/op 100.72 us/op 0.98
getAttestationsForBlock 56.866 ms/op 63.757 ms/op 0.89
isKnown best case - 1 super set check 259.00 ns/op 273.00 ns/op 0.95
isKnown normal case - 2 super set checks 255.00 ns/op 260.00 ns/op 0.98
isKnown worse case - 16 super set checks 249.00 ns/op 264.00 ns/op 0.94
CheckpointStateCache - add get delete 5.2870 us/op 5.2930 us/op 1.00
validate gossip signedAggregateAndProof - struct 2.7546 ms/op 2.8072 ms/op 0.98
validate gossip attestation - struct 1.3144 ms/op 1.3466 ms/op 0.98
pickEth1Vote - no votes 1.2930 ms/op 1.3289 ms/op 0.97
pickEth1Vote - max votes 13.610 ms/op 11.391 ms/op 1.19
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.5246 ms/op 9.0055 ms/op 1.06
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 16.256 ms/op 18.022 ms/op 0.90
pickEth1Vote - Eth1Data fastSerialize value x2048 684.06 us/op 683.55 us/op 1.00
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.2159 ms/op 9.3208 ms/op 0.88
bytes32 toHexString 504.00 ns/op 506.00 ns/op 1.00
bytes32 Buffer.toString(hex) 347.00 ns/op 354.00 ns/op 0.98
bytes32 Buffer.toString(hex) from Uint8Array 584.00 ns/op 556.00 ns/op 1.05
bytes32 Buffer.toString(hex) + 0x 401.00 ns/op 345.00 ns/op 1.16
Object access 1 prop 0.19300 ns/op 0.16100 ns/op 1.20
Map access 1 prop 0.16500 ns/op 0.15300 ns/op 1.08
Object get x1000 6.7550 ns/op 6.8820 ns/op 0.98
Map get x1000 0.66800 ns/op 0.53300 ns/op 1.25
Object set x1000 55.802 ns/op 54.285 ns/op 1.03
Map set x1000 44.530 ns/op 43.286 ns/op 1.03
Return object 10000 times 0.24910 ns/op 0.23560 ns/op 1.06
Throw Error 10000 times 4.2477 us/op 4.1984 us/op 1.01
fastMsgIdFn sha256 / 200 bytes 3.5320 us/op 3.4030 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 335.00 ns/op 281.00 ns/op 1.19
fastMsgIdFn h64 xxhash / 200 bytes 429.00 ns/op 391.00 ns/op 1.10
fastMsgIdFn sha256 / 1000 bytes 11.811 us/op 12.059 us/op 0.98
fastMsgIdFn h32 xxhash / 1000 bytes 453.00 ns/op 413.00 ns/op 1.10
fastMsgIdFn h64 xxhash / 1000 bytes 500.00 ns/op 504.00 ns/op 0.99
fastMsgIdFn sha256 / 10000 bytes 103.85 us/op 104.08 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 1.9940 us/op 1.9220 us/op 1.04
fastMsgIdFn h64 xxhash / 10000 bytes 1.4310 us/op 1.3660 us/op 1.05
enrSubnets - fastDeserialize 64 bits 1.4990 us/op 1.3590 us/op 1.10
enrSubnets - ssz BitVector 64 bits 587.00 ns/op 495.00 ns/op 1.19
enrSubnets - fastDeserialize 4 bits 208.00 ns/op 173.00 ns/op 1.20
enrSubnets - ssz BitVector 4 bits 619.00 ns/op 491.00 ns/op 1.26
prioritizePeers score -10:0 att 32-0.1 sync 2-0 108.09 us/op 114.97 us/op 0.94
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 156.60 us/op 161.15 us/op 0.97
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 193.08 us/op 174.38 us/op 1.11
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 339.55 us/op 321.36 us/op 1.06
prioritizePeers score 0:0 att 64-1 sync 4-1 393.44 us/op 361.60 us/op 1.09
array of 16000 items push then shift 1.6573 us/op 1.6639 us/op 1.00
LinkedList of 16000 items push then shift 9.0330 ns/op 9.0030 ns/op 1.00
array of 16000 items push then pop 105.83 ns/op 90.349 ns/op 1.17
LinkedList of 16000 items push then pop 8.7700 ns/op 8.6830 ns/op 1.01
array of 24000 items push then shift 2.3706 us/op 2.4196 us/op 0.98
LinkedList of 24000 items push then shift 9.0180 ns/op 8.9690 ns/op 1.01
array of 24000 items push then pop 80.874 ns/op 79.671 ns/op 1.02
LinkedList of 24000 items push then pop 8.6580 ns/op 8.6290 ns/op 1.00
intersect bitArray bitLen 8 13.351 ns/op 13.345 ns/op 1.00
intersect array and set length 8 78.928 ns/op 80.546 ns/op 0.98
intersect bitArray bitLen 128 43.959 ns/op 44.527 ns/op 0.99
intersect array and set length 128 1.0819 us/op 1.0427 us/op 1.04
Buffer.concat 32 items 2.9430 us/op 2.7610 us/op 1.07
Uint8Array.set 32 items 2.0950 us/op 2.5350 us/op 0.83
transfer serialized Status (84 B) 2.0190 us/op 2.0950 us/op 0.96
copy serialized Status (84 B) 1.6490 us/op 1.6930 us/op 0.97
transfer serialized SignedVoluntaryExit (112 B) 2.0450 us/op 2.1570 us/op 0.95
copy serialized SignedVoluntaryExit (112 B) 1.7540 us/op 1.6940 us/op 1.04
transfer serialized ProposerSlashing (416 B) 2.2260 us/op 2.3970 us/op 0.93
copy serialized ProposerSlashing (416 B) 2.0350 us/op 2.2130 us/op 0.92
transfer serialized Attestation (485 B) 2.2650 us/op 2.4770 us/op 0.91
copy serialized Attestation (485 B) 1.9840 us/op 2.1010 us/op 0.94
transfer serialized AttesterSlashing (33232 B) 2.3850 us/op 2.4960 us/op 0.96
copy serialized AttesterSlashing (33232 B) 5.6510 us/op 5.6650 us/op 1.00
transfer serialized Small SignedBeaconBlock (128000 B) 2.7890 us/op 2.6640 us/op 1.05
copy serialized Small SignedBeaconBlock (128000 B) 15.961 us/op 16.502 us/op 0.97
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1560 us/op 3.1120 us/op 1.01
copy serialized Avg SignedBeaconBlock (200000 B) 22.099 us/op 22.381 us/op 0.99
transfer serialized BlobsSidecar (524380 B) 3.4380 us/op 3.1700 us/op 1.08
copy serialized BlobsSidecar (524380 B) 106.57 us/op 70.217 us/op 1.52
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6380 us/op 3.1730 us/op 1.15
copy serialized Big SignedBeaconBlock (1000000 B) 315.04 us/op 228.68 us/op 1.38
pass gossip attestations to forkchoice per slot 2.6531 ms/op 2.7599 ms/op 0.96
forkChoice updateHead vc 100000 bc 64 eq 0 2.1141 ms/op 2.2632 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 0 11.432 ms/op 11.849 ms/op 0.96
forkChoice updateHead vc 1000000 bc 64 eq 0 22.430 ms/op 20.651 ms/op 1.09
forkChoice updateHead vc 600000 bc 320 eq 0 16.820 ms/op 16.596 ms/op 1.01
forkChoice updateHead vc 600000 bc 1200 eq 0 81.021 ms/op 81.773 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 1000 21.306 ms/op 20.949 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 10000 22.588 ms/op 22.808 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 300000 32.667 ms/op 31.056 ms/op 1.05
computeDeltas 3.2941 ms/op 3.9596 ms/op 0.83
computeProposerBoostScoreFromBalances 1.8504 ms/op 1.7878 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei normalcase 2.3855 ms/op 2.7304 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei worstcase 4.6365 ms/op 3.4396 ms/op 1.35
altair processAttestation - setStatus - 1/6 committees join 155.94 us/op 140.84 us/op 1.11
altair processAttestation - setStatus - 1/3 committees join 286.26 us/op 284.53 us/op 1.01
altair processAttestation - setStatus - 1/2 committees join 371.33 us/op 366.82 us/op 1.01
altair processAttestation - setStatus - 2/3 committees join 480.76 us/op 478.25 us/op 1.01
altair processAttestation - setStatus - 4/5 committees join 710.98 us/op 651.34 us/op 1.09
altair processAttestation - setStatus - 100% committees join 805.29 us/op 763.19 us/op 1.06
altair processBlock - 250000 vs - 7PWei normalcase 18.331 ms/op 18.159 ms/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.548 ms/op 29.679 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase 52.440 ms/op 63.373 ms/op 0.83
altair processBlock - 250000 vs - 7PWei worstcase hashState 76.901 ms/op 82.831 ms/op 0.93
phase0 processBlock - 250000 vs - 7PWei normalcase 2.5579 ms/op 2.1018 ms/op 1.22
phase0 processBlock - 250000 vs - 7PWei worstcase 32.096 ms/op 31.235 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 579.10 us/op 460.37 us/op 1.26
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.302 us/op 11.490 us/op 0.90
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 29.415 us/op 26.861 us/op 1.10
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.781 us/op 10.320 us/op 1.14
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 9.9250 us/op 7.6790 us/op 1.29
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 113.12 us/op 109.47 us/op 1.03
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 718.48 us/op 890.57 us/op 0.81
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 915.13 us/op 1.3408 ms/op 0.68
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 903.75 us/op 1.1126 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.4586 ms/op 2.7719 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.4848 ms/op 1.6335 ms/op 0.91
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.2095 ms/op 3.9420 ms/op 1.07
Tree 40 250000 create 405.00 ms/op 290.46 ms/op 1.39
Tree 40 250000 get(125000) 209.96 ns/op 184.98 ns/op 1.14
Tree 40 250000 set(125000) 1.0742 us/op 920.44 ns/op 1.17
Tree 40 250000 toArray() 24.015 ms/op 19.432 ms/op 1.24
Tree 40 250000 iterate all - toArray() + loop 25.682 ms/op 20.693 ms/op 1.24
Tree 40 250000 iterate all - get(i) 81.195 ms/op 70.726 ms/op 1.15
MutableVector 250000 create 11.255 ms/op 13.598 ms/op 0.83
MutableVector 250000 get(125000) 7.8900 ns/op 6.5700 ns/op 1.20
MutableVector 250000 set(125000) 306.89 ns/op 250.89 ns/op 1.22
MutableVector 250000 toArray() 3.9467 ms/op 2.8429 ms/op 1.39
MutableVector 250000 iterate all - toArray() + loop 3.7032 ms/op 3.0243 ms/op 1.22
MutableVector 250000 iterate all - get(i) 1.5638 ms/op 1.5223 ms/op 1.03
Array 250000 create 3.4094 ms/op 2.5587 ms/op 1.33
Array 250000 clone - spread 1.1780 ms/op 1.1447 ms/op 1.03
Array 250000 get(125000) 0.59500 ns/op 0.57500 ns/op 1.03
Array 250000 set(125000) 0.67700 ns/op 0.64800 ns/op 1.04
Array 250000 iterate all - loop 95.733 us/op 111.84 us/op 0.86
effectiveBalanceIncrements clone Uint8Array 300000 44.402 us/op 32.883 us/op 1.35
effectiveBalanceIncrements clone MutableVector 300000 357.00 ns/op 362.00 ns/op 0.99
effectiveBalanceIncrements rw all Uint8Array 300000 176.04 us/op 170.53 us/op 1.03
effectiveBalanceIncrements rw all MutableVector 300000 106.51 ms/op 80.955 ms/op 1.32
phase0 afterProcessEpoch - 250000 vs - 7PWei 119.32 ms/op 114.24 ms/op 1.04
phase0 beforeProcessEpoch - 250000 vs - 7PWei 48.359 ms/op 42.417 ms/op 1.14
altair processEpoch - mainnet_e81889 349.31 ms/op 350.28 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 54.485 ms/op 75.388 ms/op 0.72
mainnet_e81889 - altair processJustificationAndFinalization 20.252 us/op 34.031 us/op 0.60
mainnet_e81889 - altair processInactivityUpdates 6.9861 ms/op 6.0130 ms/op 1.16
mainnet_e81889 - altair processRewardsAndPenalties 74.651 ms/op 76.367 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 3.1050 us/op 4.2940 us/op 0.72
mainnet_e81889 - altair processSlashings 872.00 ns/op 627.00 ns/op 1.39
mainnet_e81889 - altair processEth1DataReset 815.00 ns/op 580.00 ns/op 1.41
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5963 ms/op 2.4278 ms/op 0.66
mainnet_e81889 - altair processSlashingsReset 4.9730 us/op 6.4980 us/op 0.77
mainnet_e81889 - altair processRandaoMixesReset 8.3130 us/op 11.758 us/op 0.71
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3740 us/op 1.4370 us/op 0.96
mainnet_e81889 - altair processParticipationFlagUpdates 3.1720 us/op 4.2050 us/op 0.75
mainnet_e81889 - altair processSyncCommitteeUpdates 433.00 ns/op 933.00 ns/op 0.46
mainnet_e81889 - altair afterProcessEpoch 127.79 ms/op 133.34 ms/op 0.96
phase0 processEpoch - mainnet_e58758 360.31 ms/op 401.02 ms/op 0.90
mainnet_e58758 - phase0 beforeProcessEpoch 136.04 ms/op 155.58 ms/op 0.87
mainnet_e58758 - phase0 processJustificationAndFinalization 17.999 us/op 18.924 us/op 0.95
mainnet_e58758 - phase0 processRewardsAndPenalties 66.178 ms/op 52.546 ms/op 1.26
mainnet_e58758 - phase0 processRegistryUpdates 10.373 us/op 14.091 us/op 0.74
mainnet_e58758 - phase0 processSlashings 617.00 ns/op 804.00 ns/op 0.77
mainnet_e58758 - phase0 processEth1DataReset 582.00 ns/op 857.00 ns/op 0.68
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0124 ms/op 1.2814 ms/op 0.79
mainnet_e58758 - phase0 processSlashingsReset 4.3920 us/op 6.1480 us/op 0.71
mainnet_e58758 - phase0 processRandaoMixesReset 8.8220 us/op 7.0560 us/op 1.25
mainnet_e58758 - phase0 processHistoricalRootsUpdate 768.00 ns/op 1.1610 us/op 0.66
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.7710 us/op 6.4740 us/op 0.74
mainnet_e58758 - phase0 afterProcessEpoch 98.107 ms/op 112.13 ms/op 0.87
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2660 ms/op 1.6232 ms/op 0.78
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4924 ms/op 1.5570 ms/op 0.96
altair processInactivityUpdates - 250000 normalcase 24.347 ms/op 31.943 ms/op 0.76
altair processInactivityUpdates - 250000 worstcase 25.801 ms/op 28.427 ms/op 0.91
phase0 processRegistryUpdates - 250000 normalcase 6.2260 us/op 10.098 us/op 0.62
phase0 processRegistryUpdates - 250000 badcase_full_deposits 267.53 us/op 334.31 us/op 0.80
phase0 processRegistryUpdates - 250000 worstcase 0.5 119.70 ms/op 140.02 ms/op 0.85
altair processRewardsAndPenalties - 250000 normalcase 66.474 ms/op 65.304 ms/op 1.02
altair processRewardsAndPenalties - 250000 worstcase 67.839 ms/op 73.921 ms/op 0.92
phase0 getAttestationDeltas - 250000 normalcase 6.9034 ms/op 9.2350 ms/op 0.75
phase0 getAttestationDeltas - 250000 worstcase 6.7141 ms/op 10.628 ms/op 0.63
phase0 processSlashings - 250000 worstcase 3.4528 ms/op 4.1007 ms/op 0.84
altair processSyncCommitteeUpdates - 250000 177.58 ms/op 193.44 ms/op 0.92
BeaconState.hashTreeRoot - No change 345.00 ns/op 370.00 ns/op 0.93
BeaconState.hashTreeRoot - 1 full validator 51.074 us/op 55.974 us/op 0.91
BeaconState.hashTreeRoot - 32 full validator 585.29 us/op 605.79 us/op 0.97
BeaconState.hashTreeRoot - 512 full validator 5.2619 ms/op 5.7797 ms/op 0.91
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 61.446 us/op 73.493 us/op 0.84
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 950.23 us/op 1.1582 ms/op 0.82
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.676 ms/op 14.197 ms/op 0.82
BeaconState.hashTreeRoot - 1 balances 49.968 us/op 60.940 us/op 0.82
BeaconState.hashTreeRoot - 32 balances 454.48 us/op 487.17 us/op 0.93
BeaconState.hashTreeRoot - 512 balances 4.5116 ms/op 5.2871 ms/op 0.85
BeaconState.hashTreeRoot - 250000 balances 72.442 ms/op 83.977 ms/op 0.86
aggregationBits - 2048 els - zipIndexesInBitList 16.465 us/op 21.712 us/op 0.76
regular array get 100000 times 33.155 us/op 46.901 us/op 0.71
wrappedArray get 100000 times 33.253 us/op 35.993 us/op 0.92
arrayWithProxy get 100000 times 14.840 ms/op 16.992 ms/op 0.87
ssz.Root.equals 539.00 ns/op 645.00 ns/op 0.84
byteArrayEquals 551.00 ns/op 660.00 ns/op 0.83
shuffle list - 16384 els 6.8542 ms/op 7.7156 ms/op 0.89
shuffle list - 250000 els 100.33 ms/op 108.14 ms/op 0.93
processSlot - 1 slots 8.9320 us/op 9.9520 us/op 0.90
processSlot - 32 slots 1.3386 ms/op 1.5104 ms/op 0.89
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.978 ms/op 43.017 ms/op 0.86
getCommitteeAssignments - req 1 vs - 250000 vc 2.9522 ms/op 3.1873 ms/op 0.93
getCommitteeAssignments - req 100 vs - 250000 vc 4.1458 ms/op 4.4011 ms/op 0.94
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4579 ms/op 4.8878 ms/op 0.91
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9600 ns/op 5.5600 ns/op 0.89
state getBlockRootAtSlot - 250000 vs - 7PWei 786.46 ns/op 796.63 ns/op 0.99
computeProposers - vc 250000 10.161 ms/op 12.787 ms/op 0.79
computeEpochShuffling - vc 250000 103.77 ms/op 114.26 ms/op 0.91
getNextSyncCommittee - vc 250000 175.97 ms/op 215.31 ms/op 0.82
computeSigningRoot for AttestationData 12.991 us/op 15.836 us/op 0.82
hash AttestationData serialized data then Buffer.toString(base64) 2.4607 us/op 2.7488 us/op 0.90
toHexString serialized data 1.0781 us/op 2.0243 us/op 0.53
Buffer.toString(base64) 315.21 ns/op 398.53 ns/op 0.79

by benchmarkbot/action

@wemeetagain
Copy link
Member

conflict

@dapplion dapplion force-pushed the dapplion/event-attestations branch from 8a57b07 to c53fbad Compare June 14, 2023 13:43
@dapplion dapplion force-pushed the dapplion/event-attestations branch from c53fbad to 7b0a375 Compare June 26, 2023 16:40
@wemeetagain wemeetagain enabled auto-merge (squash) June 26, 2023 16:49
@wemeetagain wemeetagain merged commit a208afb into unstable Jun 26, 2023
11 of 12 checks passed
@wemeetagain wemeetagain deleted the dapplion/event-attestations branch June 26, 2023 16:59
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.10.0 🎉

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

Successfully merging this pull request may close these issues.

Publish all attestations on the Beacon API Event stream
2 participants