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

chore: release master #436

Merged
merged 1 commit into from
Jan 15, 2025
Merged

Conversation

matthewkeil
Copy link
Member

@matthewkeil matthewkeil commented Jan 15, 2025

🤖 I have created a release beep boop

as-sha256: 0.6.0

0.6.0 (2025-01-15)

Features

  • non simd sha256 for incompatible systems (#427) (9729005)

Bug Fixes

  • add homepage/repo etc to as-sha256 package.json (#401) (1dc50ef)
persistent-merkle-tree: 0.9.0

0.9.0 (2025-01-15)

Features

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped from 0.5.0 to 0.6.0
ssz: 0.19.0

0.19.0 (2025-01-15)

Features

  • non simd sha256 for incompatible systems (#427) (9729005)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped from 0.5.0 to 0.6.0
      • @chainsafe/persistent-merkle-tree bumped from 0.8.0 to 0.9.0

This PR was generated with Release Please. See documentation.

@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from 6173f79 to e9721de Compare January 15, 2025 16:01
@matthewkeil matthewkeil merged commit 5f641be into master Jan 15, 2025
8 checks passed
@matthewkeil matthewkeil deleted the release-please--branches--master branch January 15, 2025 16:12
@wemeetagain
Copy link
Member

@wemeetagain
Copy link
Member

@wemeetagain
Copy link
Member

🤖 Release is at https://github.com/ChainSafe/ssz/releases/tag/ssz-v0.19.0 🌻

Copy link

github-actions bot commented Jan 15, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 3e13974 Previous: af1e3ce Ratio
digestTwoHashObjects 50023 times 48.408 ms/op 48.329 ms/op 1.00
digest2Bytes32 50023 times 54.807 ms/op 54.782 ms/op 1.00
digest 50023 times 55.270 ms/op 57.234 ms/op 0.97
input length 32 1.1870 us/op 1.2180 us/op 0.97
input length 64 1.3530 us/op 1.4010 us/op 0.97
input length 128 2.3300 us/op 2.3970 us/op 0.97
input length 256 3.4090 us/op 3.5210 us/op 0.97
input length 512 5.7990 us/op 5.8010 us/op 1.00
input length 1024 11.032 us/op 10.939 us/op 1.01
digest 1000000 times 893.80 ms/op 908.04 ms/op 0.98
hashObjectToByteArray 50023 times 1.2288 ms/op 1.2373 ms/op 0.99
byteArrayToHashObject 50023 times 1.7779 ms/op 1.7974 ms/op 0.99
digest64 200092 times 215.40 ms/op 219.70 ms/op 0.98
hash 200092 times using batchHash4UintArray64s 240.58 ms/op 250.90 ms/op 0.96
digest64HashObjects 200092 times 194.29 ms/op 195.30 ms/op 0.99
hash 200092 times using batchHash4HashObjectInputs 204.04 ms/op 208.27 ms/op 0.98
getGindicesAtDepth 4.1360 us/op 4.0080 us/op 1.03
iterateAtDepth 7.4730 us/op 6.6890 us/op 1.12
getGindexBits 443.00 ns/op 397.00 ns/op 1.12
gindexIterator 1.0260 us/op 921.00 ns/op 1.11
HashComputationLevel.push then loop 28.188 ms/op 28.582 ms/op 0.99
HashComputation[] push then loop 39.006 ms/op 47.528 ms/op 0.82
hash 2 Uint8Array 500000 times - hashtree 217.72 ms/op 226.61 ms/op 0.96
hashTwoObjects 500000 times - hashtree 210.38 ms/op 222.38 ms/op 0.95
executeHashComputations - hashtree 10.451 ms/op 9.8853 ms/op 1.06
hash 2 Uint8Array 500000 times - as-sha256 560.55 ms/op 560.83 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 506.75 ms/op 506.64 ms/op 1.00
executeHashComputations - as-sha256 47.462 ms/op 49.530 ms/op 0.96
hash 2 Uint8Array 500000 times - noble 1.2078 s/op 1.2600 s/op 0.96
hashTwoObjects 500000 times - noble 1.7204 s/op 1.7590 s/op 0.98
executeHashComputations - noble 37.011 ms/op 40.778 ms/op 0.91
getHashComputations 3.3543 ms/op 3.2694 ms/op 1.03
executeHashComputations 13.127 ms/op 11.297 ms/op 1.16
get root 15.083 ms/op 15.988 ms/op 0.94
getNodeH() x7812.5 avg hindex 12.250 us/op 12.007 us/op 1.02
getNodeH() x7812.5 index 0 7.5020 us/op 7.4400 us/op 1.01
getNodeH() x7812.5 index 7 7.5300 us/op 7.6050 us/op 0.99
getNodeH() x7812.5 index 7 with key array 6.3070 us/op 6.2670 us/op 1.01
new LeafNode() x7812.5 297.71 us/op 285.71 us/op 1.04
getHashComputations 250000 nodes 17.635 ms/op 18.867 ms/op 0.93
batchHash 250000 nodes 88.080 ms/op 88.667 ms/op 0.99
get root 250000 nodes 117.68 ms/op 120.10 ms/op 0.98
getHashComputations 500000 nodes 37.614 ms/op 28.489 ms/op 1.32
batchHash 500000 nodes 176.30 ms/op 154.78 ms/op 1.14
get root 500000 nodes 226.57 ms/op 246.39 ms/op 0.92
getHashComputations 1000000 nodes 66.754 ms/op 62.944 ms/op 1.06
batchHash 1000000 nodes 336.92 ms/op 307.26 ms/op 1.10
get root 1000000 nodes 464.58 ms/op 481.18 ms/op 0.97
multiproof - depth 15, 1 requested leaves 7.9880 us/op 8.6280 us/op 0.93
tree offset multiproof - depth 15, 1 requested leaves 17.596 us/op 18.134 us/op 0.97
compact multiproof - depth 15, 1 requested leaves 3.0360 us/op 3.0750 us/op 0.99
multiproof - depth 15, 2 requested leaves 11.481 us/op 11.733 us/op 0.98
tree offset multiproof - depth 15, 2 requested leaves 21.194 us/op 21.472 us/op 0.99
compact multiproof - depth 15, 2 requested leaves 3.0300 us/op 3.1510 us/op 0.96
multiproof - depth 15, 3 requested leaves 16.380 us/op 16.734 us/op 0.98
tree offset multiproof - depth 15, 3 requested leaves 27.602 us/op 27.065 us/op 1.02
compact multiproof - depth 15, 3 requested leaves 3.6460 us/op 3.9770 us/op 0.92
multiproof - depth 15, 4 requested leaves 22.228 us/op 22.675 us/op 0.98
tree offset multiproof - depth 15, 4 requested leaves 33.368 us/op 34.045 us/op 0.98
compact multiproof - depth 15, 4 requested leaves 4.8970 us/op 4.4780 us/op 1.09
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.6910 us/op 5.9740 us/op 0.95
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.7400 us/op 5.7650 us/op 1.00
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.6100 us/op 5.7430 us/op 0.98
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.6800 us/op 5.6760 us/op 1.00
subtreeFillToContents depth 40 count 250000 49.340 ms/op 48.437 ms/op 1.02
setRoot - gindexBitstring 21.587 ms/op 20.939 ms/op 1.03
setRoot - gindex 21.408 ms/op 20.450 ms/op 1.05
getRoot - gindexBitstring 2.6479 ms/op 2.5068 ms/op 1.06
getRoot - gindex 3.4899 ms/op 3.2330 ms/op 1.08
getHashObject then setHashObject 22.802 ms/op 21.994 ms/op 1.04
setNodeWithFn 20.183 ms/op 21.056 ms/op 0.96
getNodeAtDepth depth 0 x100000 281.09 us/op 280.00 us/op 1.00
setNodeAtDepth depth 0 x100000 2.6069 ms/op 2.2080 ms/op 1.18
getNodesAtDepth depth 0 x100000 311.87 us/op 312.23 us/op 1.00
setNodesAtDepth depth 0 x100000 784.97 us/op 759.21 us/op 1.03
getNodeAtDepth depth 1 x100000 345.28 us/op 342.43 us/op 1.01
setNodeAtDepth depth 1 x100000 8.5176 ms/op 7.4176 ms/op 1.15
getNodesAtDepth depth 1 x100000 441.53 us/op 436.19 us/op 1.01
setNodesAtDepth depth 1 x100000 8.3012 ms/op 7.2644 ms/op 1.14
getNodeAtDepth depth 2 x100000 769.34 us/op 729.66 us/op 1.05
setNodeAtDepth depth 2 x100000 17.015 ms/op 15.997 ms/op 1.06
getNodesAtDepth depth 2 x100000 20.188 ms/op 18.458 ms/op 1.09
setNodesAtDepth depth 2 x100000 23.665 ms/op 23.198 ms/op 1.02
tree.getNodesAtDepth - gindexes 9.5520 ms/op 8.9038 ms/op 1.07
tree.getNodesAtDepth - push all nodes 2.3803 ms/op 1.8694 ms/op 1.27
tree.getNodesAtDepth - navigation 311.46 us/op 313.57 us/op 0.99
tree.setNodesAtDepth - indexes 749.20 us/op 689.19 us/op 1.09
set at depth 8 835.00 ns/op 729.00 ns/op 1.15
set at depth 16 1.2130 us/op 1.0720 us/op 1.13
set at depth 32 2.0020 us/op 1.8010 us/op 1.11
iterateNodesAtDepth 8 256 14.772 us/op 13.381 us/op 1.10
getNodesAtDepth 8 256 3.8160 us/op 3.6940 us/op 1.03
iterateNodesAtDepth 16 65536 4.8359 ms/op 4.4711 ms/op 1.08
getNodesAtDepth 16 65536 1.5639 ms/op 1.5655 ms/op 1.00
iterateNodesAtDepth 32 250000 16.030 ms/op 15.893 ms/op 1.01
getNodesAtDepth 32 250000 4.4435 ms/op 4.5106 ms/op 0.99
iterateNodesAtDepth 40 250000 15.754 ms/op 16.285 ms/op 0.97
getNodesAtDepth 40 250000 4.4628 ms/op 4.4682 ms/op 1.00
250000 validators root getter 114.05 ms/op 120.18 ms/op 0.95
250000 validators batchHash() 83.918 ms/op 93.811 ms/op 0.89
250000 validators hashComputations 15.274 ms/op 19.434 ms/op 0.79
bitlist bytes to struct (120,90) 896.00 ns/op 786.00 ns/op 1.14
bitlist bytes to tree (120,90) 2.8500 us/op 3.0920 us/op 0.92
bitlist bytes to struct (2048,2048) 1.0130 us/op 1.2000 us/op 0.84
bitlist bytes to tree (2048,2048) 4.3830 us/op 4.2120 us/op 1.04
ByteListType - deserialize 7.8499 ms/op 7.7546 ms/op 1.01
BasicListType - deserialize 16.414 ms/op 14.814 ms/op 1.11
ByteListType - serialize 7.7673 ms/op 7.6873 ms/op 1.01
BasicListType - serialize 10.471 ms/op 9.8182 ms/op 1.07
BasicListType - tree_convertToStruct 28.675 ms/op 24.068 ms/op 1.19
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.9518 ms/op 4.9782 ms/op 0.99
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.2614 ms/op 4.2421 ms/op 1.00
Array.push len 300000 empty Array - number 7.1158 ms/op 6.8342 ms/op 1.04
Array.set len 300000 from new Array - number 2.1621 ms/op 1.9214 ms/op 1.13
Array.set len 300000 - number 6.4826 ms/op 6.0318 ms/op 1.07
Uint8Array.set len 300000 488.15 us/op 488.89 us/op 1.00
Uint32Array.set len 300000 551.59 us/op 557.46 us/op 0.99
Container({a: uint8, b: uint8}) getViewDU x300000 25.016 ms/op 25.568 ms/op 0.98
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.634 ms/op 11.334 ms/op 0.94
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 213.23 ms/op 209.69 ms/op 1.02
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 253.08 ms/op 274.34 ms/op 0.92
List(Container) len 300000 ViewDU.get(i) 6.6784 ms/op 6.9731 ms/op 0.96
List(Container) len 300000 ViewDU.getReadonly(i) 6.5941 ms/op 7.6181 ms/op 0.87
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 34.845 ms/op 35.999 ms/op 0.97
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 6.4834 ms/op 6.4435 ms/op 1.01
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.0589 ms/op 6.4940 ms/op 0.93
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 5.9992 ms/op 6.8033 ms/op 0.88
Array.push len 300000 empty Array - object 6.4719 ms/op 7.4122 ms/op 0.87
Array.set len 300000 from new Array - object 2.0469 ms/op 2.3802 ms/op 0.86
Array.set len 300000 - object 6.4661 ms/op 7.1925 ms/op 0.90
cachePermanentRootStruct no cache 19.345 us/op 21.565 us/op 0.90
cachePermanentRootStruct with cache 225.00 ns/op 234.00 ns/op 0.96
epochParticipation len 250000 rws 7813 2.3447 ms/op 2.4451 ms/op 0.96
BeaconState ViewDU hashTreeRoot() vc=200000 550.19 ms/op 544.60 ms/op 1.01
BeaconState ViewDU recursive hash - commit step vc=200000 5.5271 ms/op 4.7574 ms/op 1.16
BeaconState ViewDU validator tree creation vc=10000 42.204 ms/op 38.814 ms/op 1.09
BeaconState ViewDU batchHashTreeRoot vc=200000 399.16 ms/op 410.27 ms/op 0.97
BeaconState ViewDU hashTreeRoot - commit step vc=200000 343.25 ms/op 344.80 ms/op 1.00
BeaconState ViewDU hashTreeRoot - hash step vc=200000 73.123 ms/op 73.008 ms/op 1.00
deserialize Attestation - tree 3.7730 us/op 3.8580 us/op 0.98
deserialize Attestation - struct 1.9710 us/op 2.1610 us/op 0.91
deserialize SignedAggregateAndProof - tree 5.1740 us/op 4.9730 us/op 1.04
deserialize SignedAggregateAndProof - struct 3.0500 us/op 3.4070 us/op 0.90
deserialize SyncCommitteeMessage - tree 1.4270 us/op 1.5800 us/op 0.90
deserialize SyncCommitteeMessage - struct 1.1840 us/op 1.1800 us/op 1.00
deserialize SignedContributionAndProof - tree 3.1270 us/op 3.0010 us/op 1.04
deserialize SignedContributionAndProof - struct 2.2770 us/op 2.6560 us/op 0.86
deserialize SignedBeaconBlock - tree 296.37 us/op 299.08 us/op 0.99
deserialize SignedBeaconBlock - struct 121.00 us/op 134.33 us/op 0.90
BeaconState vc 300000 - deserialize tree 665.70 ms/op 645.65 ms/op 1.03
BeaconState vc 300000 - serialize tree 128.52 ms/op 116.49 ms/op 1.10
BeaconState.historicalRoots vc 300000 - deserialize tree 955.00 ns/op 967.00 ns/op 0.99
BeaconState.historicalRoots vc 300000 - serialize tree 799.00 ns/op 771.00 ns/op 1.04
BeaconState.validators vc 300000 - deserialize tree 618.48 ms/op 590.22 ms/op 1.05
BeaconState.validators vc 300000 - serialize tree 115.87 ms/op 113.53 ms/op 1.02
BeaconState.balances vc 300000 - deserialize tree 27.003 ms/op 29.396 ms/op 0.92
BeaconState.balances vc 300000 - serialize tree 4.0081 ms/op 4.1719 ms/op 0.96
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 878.60 us/op 963.83 us/op 0.91
BeaconState.previousEpochParticipation vc 300000 - serialize tree 329.94 us/op 329.79 us/op 1.00
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 953.64 us/op 1.1207 ms/op 0.85
BeaconState.currentEpochParticipation vc 300000 - serialize tree 326.16 us/op 318.22 us/op 1.02
BeaconState.inactivityScores vc 300000 - deserialize tree 29.137 ms/op 26.249 ms/op 1.11
BeaconState.inactivityScores vc 300000 - serialize tree 3.9846 ms/op 4.8565 ms/op 0.82
hashTreeRoot Attestation - struct 71.641 us/op 79.732 us/op 0.90
hashTreeRoot Attestation - tree 69.236 us/op 77.616 us/op 0.89
hashTreeRoot SignedAggregateAndProof - struct 97.166 us/op 108.52 us/op 0.90
hashTreeRoot SignedAggregateAndProof - tree 100.60 us/op 110.57 us/op 0.91
hashTreeRoot SyncCommitteeMessage - struct 19.928 us/op 21.969 us/op 0.91
hashTreeRoot SyncCommitteeMessage - tree 22.303 us/op 26.799 us/op 0.83
hashTreeRoot SignedContributionAndProof - struct 61.198 us/op 72.405 us/op 0.85
hashTreeRoot SignedContributionAndProof - tree 68.946 us/op 91.830 us/op 0.75
hashTreeRoot SignedBeaconBlock - struct 5.3459 ms/op 6.3212 ms/op 0.85
hashTreeRoot SignedBeaconBlock - tree 6.2217 ms/op 6.3448 ms/op 0.98
hashTreeRoot Validator - struct 26.750 us/op 28.121 us/op 0.95
hashTreeRoot Validator - tree 29.966 us/op 33.322 us/op 0.90
BeaconState vc 300000 - hashTreeRoot tree 11.290 s/op 11.670 s/op 0.97
BeaconState vc 300000 - batchHashTreeRoot tree 6.8770 s/op 6.5818 s/op 1.04
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 4.6140 us/op 4.2130 us/op 1.10
BeaconState.validators vc 300000 - hashTreeRoot tree 11.490 s/op 11.705 s/op 0.98
BeaconState.balances vc 300000 - hashTreeRoot tree 307.25 ms/op 324.44 ms/op 0.95
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 38.940 ms/op 41.771 ms/op 0.93
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 34.329 ms/op 41.108 ms/op 0.84
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 301.88 ms/op 336.03 ms/op 0.90
hash64 x18 49.100 us/op 51.785 us/op 0.95
hashTwoObjects x18 67.702 us/op 68.437 us/op 0.99
hash64 x1740 4.5404 ms/op 4.6066 ms/op 0.99
hashTwoObjects x1740 6.4217 ms/op 7.0097 ms/op 0.92
hash64 x2700000 7.1454 s/op 7.3404 s/op 0.97
hashTwoObjects x2700000 9.7719 s/op 10.248 s/op 0.95
get_exitEpoch - ContainerType 305.00 ns/op 311.00 ns/op 0.98
get_exitEpoch - ContainerNodeStructType 276.00 ns/op 276.00 ns/op 1.00
set_exitEpoch - ContainerType 300.00 ns/op 303.00 ns/op 0.99
set_exitEpoch - ContainerNodeStructType 272.00 ns/op 287.00 ns/op 0.95
get_pubkey - ContainerType 1.0220 us/op 1.0070 us/op 1.01
get_pubkey - ContainerNodeStructType 259.00 ns/op 263.00 ns/op 0.98
hashTreeRoot - ContainerType 473.00 ns/op 466.00 ns/op 1.02
hashTreeRoot - ContainerNodeStructType 469.00 ns/op 446.00 ns/op 1.05
createProof - ContainerType 4.8510 us/op 4.7500 us/op 1.02
createProof - ContainerNodeStructType 21.863 us/op 22.629 us/op 0.97
serialize - ContainerType 1.5570 us/op 1.5780 us/op 0.99
serialize - ContainerNodeStructType 1.3450 us/op 1.3590 us/op 0.99
set_exitEpoch_and_hashTreeRoot - ContainerType 11.913 us/op 12.207 us/op 0.98
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 30.647 us/op 32.026 us/op 0.96
Array - for of 5.7070 us/op 10.553 us/op 0.54
Array - for(;;) 5.7430 us/op 10.576 us/op 0.54
basicListValue.readonlyValuesArray() 3.8239 ms/op 4.0274 ms/op 0.95
basicListValue.readonlyValuesArray() + loop all 4.0309 ms/op 4.0521 ms/op 0.99
compositeListValue.readonlyValuesArray() 28.112 ms/op 28.077 ms/op 1.00
compositeListValue.readonlyValuesArray() + loop all 30.449 ms/op 31.935 ms/op 0.95
Number64UintType - get balances list 4.3994 ms/op 4.5591 ms/op 0.96
Number64UintType - set balances list 10.035 ms/op 10.098 ms/op 0.99
Number64UintType - get and increase 10 then set 45.555 ms/op 40.002 ms/op 1.14
Number64UintType - increase 10 using applyDelta 15.732 ms/op 16.694 ms/op 0.94
Number64UintType - increase 10 using applyDeltaInBatch 16.240 ms/op 16.307 ms/op 1.00
tree_newTreeFromUint64Deltas 21.167 ms/op 22.854 ms/op 0.93
unsafeUint8ArrayToTree 36.109 ms/op 37.567 ms/op 0.96
bitLength(50) 227.00 ns/op 244.00 ns/op 0.93
bitLengthStr(50) 220.00 ns/op 214.00 ns/op 1.03
bitLength(8000) 215.00 ns/op 226.00 ns/op 0.95
bitLengthStr(8000) 265.00 ns/op 262.00 ns/op 1.01
bitLength(250000) 230.00 ns/op 238.00 ns/op 0.97
bitLengthStr(250000) 294.00 ns/op 307.00 ns/op 0.96
floor - Math.floor (53) 1.2431 ns/op 1.2430 ns/op 1.00
floor - << 0 (53) 1.2566 ns/op 1.2440 ns/op 1.01
floor - Math.floor (512) 1.2433 ns/op 1.2590 ns/op 0.99
floor - << 0 (512) 1.2491 ns/op 1.2450 ns/op 1.00
fnIf(0) 1.5535 ns/op 1.5691 ns/op 0.99
fnSwitch(0) 2.1759 ns/op 2.1763 ns/op 1.00
fnObj(0) 1.5594 ns/op 1.5639 ns/op 1.00
fnArr(0) 1.5813 ns/op 1.5571 ns/op 1.02
fnIf(4) 2.1761 ns/op 2.1758 ns/op 1.00
fnSwitch(4) 2.1808 ns/op 2.1757 ns/op 1.00
fnObj(4) 1.5815 ns/op 1.5722 ns/op 1.01
fnArr(4) 1.5549 ns/op 1.5547 ns/op 1.00
fnIf(9) 3.1078 ns/op 3.1099 ns/op 1.00
fnSwitch(9) 2.1766 ns/op 2.1761 ns/op 1.00
fnObj(9) 1.5624 ns/op 1.5882 ns/op 0.98
fnArr(9) 1.5543 ns/op 1.5539 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.88 us/op 124.52 us/op 1.00
Container {a,b,vec} - as tree x100000 528.67 us/op 528.96 us/op 1.00
Container {a,vec,b} - as struct x100000 156.45 us/op 155.68 us/op 1.00
Container {a,vec,b} - as tree x100000 497.68 us/op 497.73 us/op 1.00
get 2 props x1000000 - rawObject 311.35 us/op 311.50 us/op 1.00
get 2 props x1000000 - proxy 73.140 ms/op 73.206 ms/op 1.00
get 2 props x1000000 - customObj 312.19 us/op 312.59 us/op 1.00
Simple object binary -> struct 837.00 ns/op 588.00 ns/op 1.42
Simple object binary -> tree_backed 2.2880 us/op 1.6450 us/op 1.39
Simple object struct -> tree_backed 2.6320 us/op 2.2980 us/op 1.15
Simple object tree_backed -> struct 2.2340 us/op 1.5270 us/op 1.46
Simple object struct -> binary 1.0110 us/op 882.00 ns/op 1.15
Simple object tree_backed -> binary 1.5660 us/op 1.3580 us/op 1.15
aggregationBits binary -> struct 617.00 ns/op 516.00 ns/op 1.20
aggregationBits binary -> tree_backed 2.4760 us/op 2.0850 us/op 1.19
aggregationBits struct -> tree_backed 2.8620 us/op 2.4110 us/op 1.19
aggregationBits tree_backed -> struct 1.1400 us/op 1.0220 us/op 1.12
aggregationBits struct -> binary 779.00 ns/op 707.00 ns/op 1.10
aggregationBits tree_backed -> binary 1.0020 us/op 843.00 ns/op 1.19
List(uint8) 100000 binary -> struct 1.5317 ms/op 1.5613 ms/op 0.98
List(uint8) 100000 binary -> tree_backed 263.62 us/op 263.31 us/op 1.00
List(uint8) 100000 struct -> tree_backed 1.4296 ms/op 1.4139 ms/op 1.01
List(uint8) 100000 tree_backed -> struct 1.0678 ms/op 1.1940 ms/op 0.89
List(uint8) 100000 struct -> binary 1.1999 ms/op 1.1078 ms/op 1.08
List(uint8) 100000 tree_backed -> binary 105.48 us/op 110.33 us/op 0.96
List(uint64Number) 100000 binary -> struct 1.3648 ms/op 1.4470 ms/op 0.94
List(uint64Number) 100000 binary -> tree_backed 4.1517 ms/op 5.1007 ms/op 0.81
List(uint64Number) 100000 struct -> tree_backed 6.4985 ms/op 6.7014 ms/op 0.97
List(uint64Number) 100000 tree_backed -> struct 2.4410 ms/op 2.3505 ms/op 1.04
List(uint64Number) 100000 struct -> binary 1.6032 ms/op 1.6033 ms/op 1.00
List(uint64Number) 100000 tree_backed -> binary 1.0383 ms/op 980.30 us/op 1.06
List(Uint64Bigint) 100000 binary -> struct 4.0667 ms/op 3.4914 ms/op 1.16
List(Uint64Bigint) 100000 binary -> tree_backed 4.8508 ms/op 4.4972 ms/op 1.08
List(Uint64Bigint) 100000 struct -> tree_backed 7.2975 ms/op 7.0463 ms/op 1.04
List(Uint64Bigint) 100000 tree_backed -> struct 5.0565 ms/op 5.3489 ms/op 0.95
List(Uint64Bigint) 100000 struct -> binary 2.0680 ms/op 2.1511 ms/op 0.96
List(Uint64Bigint) 100000 tree_backed -> binary 1.1134 ms/op 1.3666 ms/op 0.81
Vector(Root) 100000 binary -> struct 35.186 ms/op 34.692 ms/op 1.01
Vector(Root) 100000 binary -> tree_backed 39.633 ms/op 39.168 ms/op 1.01
Vector(Root) 100000 struct -> tree_backed 47.137 ms/op 46.355 ms/op 1.02
Vector(Root) 100000 tree_backed -> struct 48.490 ms/op 46.333 ms/op 1.05
Vector(Root) 100000 struct -> binary 2.7475 ms/op 2.7972 ms/op 0.98
Vector(Root) 100000 tree_backed -> binary 7.6293 ms/op 7.2514 ms/op 1.05
List(Validator) 100000 binary -> struct 106.98 ms/op 104.61 ms/op 1.02
List(Validator) 100000 binary -> tree_backed 356.01 ms/op 331.73 ms/op 1.07
List(Validator) 100000 struct -> tree_backed 366.61 ms/op 366.45 ms/op 1.00
List(Validator) 100000 tree_backed -> struct 196.91 ms/op 197.77 ms/op 1.00
List(Validator) 100000 struct -> binary 29.048 ms/op 28.895 ms/op 1.01
List(Validator) 100000 tree_backed -> binary 97.376 ms/op 97.823 ms/op 1.00
List(Validator-NS) 100000 binary -> struct 102.95 ms/op 110.63 ms/op 0.93
List(Validator-NS) 100000 binary -> tree_backed 169.65 ms/op 158.21 ms/op 1.07
List(Validator-NS) 100000 struct -> tree_backed 214.25 ms/op 201.97 ms/op 1.06
List(Validator-NS) 100000 tree_backed -> struct 167.52 ms/op 166.71 ms/op 1.00
List(Validator-NS) 100000 struct -> binary 29.228 ms/op 29.442 ms/op 0.99
List(Validator-NS) 100000 tree_backed -> binary 35.523 ms/op 35.739 ms/op 0.99
get epochStatuses - MutableVector 102.06 us/op 122.54 us/op 0.83
get epochStatuses - ViewDU 207.01 us/op 193.09 us/op 1.07
set epochStatuses - ListTreeView 2.2077 ms/op 2.1871 ms/op 1.01
set epochStatuses - ListTreeView - set() 441.98 us/op 448.29 us/op 0.99
set epochStatuses - ListTreeView - commit() 812.02 us/op 747.61 us/op 1.09
bitstring 516.42 ns/op 524.59 ns/op 0.98
bit mask 13.717 ns/op 13.736 ns/op 1.00
struct - increase slot to 1000000 933.19 us/op 932.60 us/op 1.00
UintNumberType - increase slot to 1000000 26.763 ms/op 26.784 ms/op 1.00
UintBigintType - increase slot to 1000000 180.44 ms/op 174.51 ms/op 1.03
UintBigint8 x 100000 tree_deserialize 5.5458 ms/op 5.4189 ms/op 1.02
UintBigint8 x 100000 tree_serialize 1.1284 ms/op 618.04 us/op 1.83
UintBigint16 x 100000 tree_deserialize 5.3264 ms/op 5.4087 ms/op 0.98
UintBigint16 x 100000 tree_serialize 1.3332 ms/op 1.4140 ms/op 0.94
UintBigint32 x 100000 tree_deserialize 5.9962 ms/op 5.8505 ms/op 1.02
UintBigint32 x 100000 tree_serialize 1.8482 ms/op 1.7479 ms/op 1.06
UintBigint64 x 100000 tree_deserialize 6.4315 ms/op 6.5930 ms/op 0.98
UintBigint64 x 100000 tree_serialize 2.5303 ms/op 1.7467 ms/op 1.45
UintBigint8 x 100000 value_deserialize 435.51 us/op 435.41 us/op 1.00
UintBigint8 x 100000 value_serialize 789.61 us/op 793.33 us/op 1.00
UintBigint16 x 100000 value_deserialize 467.60 us/op 467.62 us/op 1.00
UintBigint16 x 100000 value_serialize 839.12 us/op 855.95 us/op 0.98
UintBigint32 x 100000 value_deserialize 498.44 us/op 497.62 us/op 1.00
UintBigint32 x 100000 value_serialize 876.17 us/op 877.73 us/op 1.00
UintBigint64 x 100000 value_deserialize 561.55 us/op 561.81 us/op 1.00
UintBigint64 x 100000 value_serialize 1.0660 ms/op 1.1099 ms/op 0.96
UintBigint8 x 100000 deserialize 3.5381 ms/op 3.6869 ms/op 0.96
UintBigint8 x 100000 serialize 1.5747 ms/op 1.6545 ms/op 0.95
UintBigint16 x 100000 deserialize 3.6496 ms/op 3.7126 ms/op 0.98
UintBigint16 x 100000 serialize 1.5972 ms/op 1.5321 ms/op 1.04
UintBigint32 x 100000 deserialize 3.6983 ms/op 3.7414 ms/op 0.99
UintBigint32 x 100000 serialize 2.8633 ms/op 2.8575 ms/op 1.00
UintBigint64 x 100000 deserialize 4.0904 ms/op 3.6986 ms/op 1.11
UintBigint64 x 100000 serialize 1.6384 ms/op 1.6271 ms/op 1.01
UintBigint128 x 100000 deserialize 5.7178 ms/op 5.3031 ms/op 1.08
UintBigint128 x 100000 serialize 14.809 ms/op 14.546 ms/op 1.02
UintBigint256 x 100000 deserialize 8.6737 ms/op 8.1505 ms/op 1.06
UintBigint256 x 100000 serialize 42.304 ms/op 42.972 ms/op 0.98
Slice from Uint8Array x25000 1.2952 ms/op 1.2812 ms/op 1.01
Slice from ArrayBuffer x25000 16.141 ms/op 16.406 ms/op 0.98
Slice from ArrayBuffer x25000 + new Uint8Array 17.247 ms/op 18.489 ms/op 0.93
Copy Uint8Array 100000 iterate 2.6492 ms/op 2.6508 ms/op 1.00
Copy Uint8Array 100000 slice 115.27 us/op 98.020 us/op 1.18
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 109.93 us/op 99.605 us/op 1.10
Copy Buffer 100000 Uint8Array.prototype.slice.call 111.68 us/op 99.185 us/op 1.13
Copy Uint8Array 100000 slice + set 227.03 us/op 199.10 us/op 1.14
Copy Uint8Array 100000 subarray + set 113.46 us/op 102.78 us/op 1.10
Copy Uint8Array 100000 slice arrayBuffer 112.72 us/op 103.87 us/op 1.09
Uint64 deserialize 100000 - iterate Uint8Array 1.9905 ms/op 1.8531 ms/op 1.07
Uint64 deserialize 100000 - by Uint32A 1.8645 ms/op 1.8967 ms/op 0.98
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0142 ms/op 1.9138 ms/op 1.05
Uint64 deserialize 100000 - by DataView.getBigUint64 5.4588 ms/op 5.1556 ms/op 1.06
Uint64 deserialize 100000 - by byte 40.931 ms/op 40.663 ms/op 1.01

by benchmarkbot/action

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

Successfully merging this pull request may close these issues.

2 participants