ChainSafe / ssz

Typescript implementation of Simple Serialize (SSZ)
https://simpleserialize.com/
Other
44 stars 17 forks source link

chore: deprecate node-sass and use dart-sass #364

Closed ensi321 closed 3 months ago

ensi321 commented 3 months ago

Motivation

node-sass is already deprecated. It also doesn't support arm64 architecture.

Description

Official recommendation is to replace node-sass with dart-sass. No code change is required as both packages use the same Javascript API.

github-actions[bot] commented 3 months ago

Performance Report

✔️ no performance regression detected

Full benchmark results | Benchmark suite | Current: 0e44f8bf31a77c8ed11a1f101a3c0db472539085 | Previous: 9cf6991e7ece4e4002668f601ecb43bb8bd53f4e | Ratio | |-|-|-|-| | digestTwoHashObjects 50023 times | 47.660 ms/op | 48.285 ms/op | 0.99 | | digest64 50023 times | 49.029 ms/op | 49.639 ms/op | 0.99 | | digest 50023 times | 55.757 ms/op | 53.716 ms/op | 1.04 | | input length 32 | 1.5380 us/op | 1.4220 us/op | 1.08 | | input length 64 | 1.6580 us/op | 1.5230 us/op | 1.09 | | input length 128 | 3.2550 us/op | 2.5340 us/op | 1.28 | | input length 256 | 4.5140 us/op | 3.6590 us/op | 1.23 | | input length 512 | 6.3210 us/op | 5.9160 us/op | 1.07 | | input length 1024 | 11.372 us/op | 11.307 us/op | 1.01 | | digest 1000000 times | 834.53 ms/op | 873.45 ms/op | 0.96 | | hashObjectToByteArray 50023 times | 1.4236 ms/op | 1.4264 ms/op | 1.00 | | byteArrayToHashObject 50023 times | 2.5928 ms/op | 3.7377 ms/op | 0.69 | | getGindicesAtDepth | 4.9560 us/op | 5.0600 us/op | 0.98 | | iterateAtDepth | 10.430 us/op | 10.233 us/op | 1.02 | | getGindexBits | 541.00 ns/op | 562.00 ns/op | 0.96 | | gindexIterator | 1.2420 us/op | 1.2280 us/op | 1.01 | | hash 2 Uint8Array 2250026 times - as-sha256 | 2.3620 s/op | 2.3065 s/op | 1.02 | | hashTwoObjects 2250026 times - as-sha256 | 2.2242 s/op | 2.2279 s/op | 1.00 | | hash 2 Uint8Array 2250026 times - noble | 5.8826 s/op | 6.0080 s/op | 0.98 | | hashTwoObjects 2250026 times - noble | 7.0800 s/op | 7.0158 s/op | 1.01 | | getNodeH() x7812.5 avg hindex | 15.271 us/op | 15.272 us/op | 1.00 | | getNodeH() x7812.5 index 0 | 5.1250 us/op | 5.1960 us/op | 0.99 | | getNodeH() x7812.5 index 7 | 5.1510 us/op | 5.0980 us/op | 1.01 | | getNodeH() x7812.5 index 7 with key array | 5.2170 us/op | 5.1600 us/op | 1.01 | | new LeafNode() x7812.5 | 212.41 us/op | 207.11 us/op | 1.03 | | multiproof - depth 15, 1 requested leaves | 10.684 us/op | 10.608 us/op | 1.01 | | tree offset multiproof - depth 15, 1 requested leaves | 21.162 us/op | 21.220 us/op | 1.00 | | compact multiproof - depth 15, 1 requested leaves | 5.4990 us/op | 5.4640 us/op | 1.01 | | multiproof - depth 15, 2 requested leaves | 13.480 us/op | 13.836 us/op | 0.97 | | tree offset multiproof - depth 15, 2 requested leaves | 24.465 us/op | 24.816 us/op | 0.99 | | compact multiproof - depth 15, 2 requested leaves | 3.2160 us/op | 3.1640 us/op | 1.02 | | multiproof - depth 15, 3 requested leaves | 18.821 us/op | 18.999 us/op | 0.99 | | tree offset multiproof - depth 15, 3 requested leaves | 31.826 us/op | 32.057 us/op | 0.99 | | compact multiproof - depth 15, 3 requested leaves | 5.4840 us/op | 5.5440 us/op | 0.99 | | multiproof - depth 15, 4 requested leaves | 24.969 us/op | 24.858 us/op | 1.00 | | tree offset multiproof - depth 15, 4 requested leaves | 39.358 us/op | 39.442 us/op | 1.00 | | compact multiproof - depth 15, 4 requested leaves | 6.2970 us/op | 5.4290 us/op | 1.16 | | packedRootsBytesToLeafNodes bytes 4000 offset 0 | 2.0790 us/op | 2.0330 us/op | 1.02 | | packedRootsBytesToLeafNodes bytes 4000 offset 1 | 2.1480 us/op | 2.0190 us/op | 1.06 | | packedRootsBytesToLeafNodes bytes 4000 offset 2 | 2.2100 us/op | 2.0120 us/op | 1.10 | | packedRootsBytesToLeafNodes bytes 4000 offset 3 | 1.9100 us/op | 2.0140 us/op | 0.95 | | subtreeFillToContents depth 40 count 250000 | 50.300 ms/op | 46.683 ms/op | 1.08 | | setRoot - gindexBitstring | 17.753 ms/op | 8.8775 ms/op | 2.00 | | setRoot - gindex | 10.454 ms/op | 9.5630 ms/op | 1.09 | | getRoot - gindexBitstring | 2.5533 ms/op | 2.3965 ms/op | 1.07 | | getRoot - gindex | 3.2009 ms/op | 3.0536 ms/op | 1.05 | | getHashObject then setHashObject | 10.806 ms/op | 10.551 ms/op | 1.02 | | setNodeWithFn | 9.3351 ms/op | 9.4797 ms/op | 0.98 | | getNodeAtDepth depth 0 x100000 | 1.1478 ms/op | 1.1445 ms/op | 1.00 | | setNodeAtDepth depth 0 x100000 | 2.6399 ms/op | 2.7071 ms/op | 0.98 | | getNodesAtDepth depth 0 x100000 | 1.0830 ms/op | 1.0835 ms/op | 1.00 | | setNodesAtDepth depth 0 x100000 | 1.4843 ms/op | 1.4853 ms/op | 1.00 | | getNodeAtDepth depth 1 x100000 | 1.2056 ms/op | 1.2076 ms/op | 1.00 | | setNodeAtDepth depth 1 x100000 | 5.8536 ms/op | 5.9761 ms/op | 0.98 | | getNodesAtDepth depth 1 x100000 | 1.2080 ms/op | 1.2101 ms/op | 1.00 | | setNodesAtDepth depth 1 x100000 | 4.8917 ms/op | 4.7749 ms/op | 1.02 | | getNodeAtDepth depth 2 x100000 | 1.4842 ms/op | 1.4843 ms/op | 1.00 | | setNodeAtDepth depth 2 x100000 | 10.025 ms/op | 10.028 ms/op | 1.00 | | getNodesAtDepth depth 2 x100000 | 20.032 ms/op | 18.907 ms/op | 1.06 | | setNodesAtDepth depth 2 x100000 | 24.848 ms/op | 15.627 ms/op | 1.59 | | tree.getNodesAtDepth - gindexes | 7.2314 ms/op | 6.3417 ms/op | 1.14 | | tree.getNodesAtDepth - push all nodes | 2.3114 ms/op | 2.1973 ms/op | 1.05 | | tree.getNodesAtDepth - navigation | 160.64 us/op | 157.13 us/op | 1.02 | | tree.setNodesAtDepth - indexes | 377.54 us/op | 382.17 us/op | 0.99 | | set at depth 8 | 571.00 ns/op | 521.00 ns/op | 1.10 | | set at depth 16 | 724.00 ns/op | 679.00 ns/op | 1.07 | | set at depth 32 | 1.1540 us/op | 1.0670 us/op | 1.08 | | iterateNodesAtDepth 8 256 | 15.362 us/op | 14.517 us/op | 1.06 | | getNodesAtDepth 8 256 | 3.4950 us/op | 3.6240 us/op | 0.96 | | iterateNodesAtDepth 16 65536 | 4.6395 ms/op | 4.6303 ms/op | 1.00 | | getNodesAtDepth 16 65536 | 1.9787 ms/op | 2.0332 ms/op | 0.97 | | iterateNodesAtDepth 32 250000 | 17.450 ms/op | 16.556 ms/op | 1.05 | | getNodesAtDepth 32 250000 | 4.6313 ms/op | 4.7274 ms/op | 0.98 | | iterateNodesAtDepth 40 250000 | 17.882 ms/op | 16.251 ms/op | 1.10 | | getNodesAtDepth 40 250000 | 4.7265 ms/op | 4.7072 ms/op | 1.00 | | 250k validators | 7.8598 s/op | 7.7540 s/op | 1.01 | | bitlist bytes to struct (120,90) | 957.00 ns/op | 646.00 ns/op | 1.48 | | bitlist bytes to tree (120,90) | 2.5960 us/op | 2.6890 us/op | 0.97 | | bitlist bytes to struct (2048,2048) | 1.0780 us/op | 1.1300 us/op | 0.95 | | bitlist bytes to tree (2048,2048) | 3.9260 us/op | 3.9720 us/op | 0.99 | | ByteListType - deserialize | 7.8811 ms/op | 9.0002 ms/op | 0.88 | | BasicListType - deserialize | 10.717 ms/op | 9.6526 ms/op | 1.11 | | ByteListType - serialize | 8.1017 ms/op | 8.1813 ms/op | 0.99 | | BasicListType - serialize | 10.806 ms/op | 11.206 ms/op | 0.96 | | BasicListType - tree_convertToStruct | 24.819 ms/op | 29.835 ms/op | 0.83 | | List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate | 4.3471 ms/op | 4.0826 ms/op | 1.06 | | List[uint8, 68719476736] len 300000 ViewDU.get(i) | 4.1407 ms/op | 4.1427 ms/op | 1.00 | | Array.push len 300000 empty Array - number | 6.7810 ms/op | 6.1768 ms/op | 1.10 | | Array.set len 300000 from new Array - number | 1.7001 ms/op | 1.6200 ms/op | 1.05 | | Array.set len 300000 - number | 5.5354 ms/op | 5.3222 ms/op | 1.04 | | Uint8Array.set len 300000 | 216.46 us/op | 211.16 us/op | 1.03 | | Uint32Array.set len 300000 | 314.53 us/op | 282.88 us/op | 1.11 | | Container({a: uint8, b: uint8}) getViewDU x300000 | 21.057 ms/op | 20.067 ms/op | 1.05 | | ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 | 9.4904 ms/op | 9.4835 ms/op | 1.00 | | List(Container) len 300000 ViewDU.getAllReadonly() + iterate | 201.49 ms/op | 206.96 ms/op | 0.97 | | List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate | 282.45 ms/op | 288.70 ms/op | 0.98 | | List(Container) len 300000 ViewDU.get(i) | 6.7306 ms/op | 6.8438 ms/op | 0.98 | | List(Container) len 300000 ViewDU.getReadonly(i) | 6.5789 ms/op | 6.3335 ms/op | 1.04 | | List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate | 33.976 ms/op | 37.459 ms/op | 0.91 | | List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate | 6.3372 ms/op | 5.2030 ms/op | 1.22 | | List(ContainerNodeStruct) len 300000 ViewDU.get(i) | 6.3931 ms/op | 6.1396 ms/op | 1.04 | | List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) | 6.0151 ms/op | 5.9703 ms/op | 1.01 | | Array.push len 300000 empty Array - object | 7.1160 ms/op | 6.0965 ms/op | 1.17 | | Array.set len 300000 from new Array - object | 1.9710 ms/op | 1.9658 ms/op | 1.00 | | Array.set len 300000 - object | 5.7626 ms/op | 5.4572 ms/op | 1.06 | | cachePermanentRootStruct no cache | 8.9090 us/op | 8.8750 us/op | 1.00 | | cachePermanentRootStruct with cache | 223.00 ns/op | 219.00 ns/op | 1.02 | | epochParticipation len 250000 rws 7813 | 2.2978 ms/op | 2.2825 ms/op | 1.01 | | deserialize Attestation - tree | 2.8930 us/op | 2.9240 us/op | 0.99 | | deserialize Attestation - struct | 1.9340 us/op | 2.0100 us/op | 0.96 | | deserialize SignedAggregateAndProof - tree | 3.6240 us/op | 3.7010 us/op | 0.98 | | deserialize SignedAggregateAndProof - struct | 3.0010 us/op | 3.0820 us/op | 0.97 | | deserialize SyncCommitteeMessage - tree | 1.0920 us/op | 1.1560 us/op | 0.94 | | deserialize SyncCommitteeMessage - struct | 1.1630 us/op | 1.1800 us/op | 0.99 | | deserialize SignedContributionAndProof - tree | 1.9110 us/op | 1.9350 us/op | 0.99 | | deserialize SignedContributionAndProof - struct | 2.4140 us/op | 2.4940 us/op | 0.97 | | deserialize SignedBeaconBlock - tree | 210.13 us/op | 214.98 us/op | 0.98 | | deserialize SignedBeaconBlock - struct | 124.48 us/op | 125.93 us/op | 0.99 | | BeaconState vc 300000 - deserialize tree | 579.96 ms/op | 565.72 ms/op | 1.03 | | BeaconState vc 300000 - serialize tree | 123.49 ms/op | 127.05 ms/op | 0.97 | | BeaconState.historicalRoots vc 300000 - deserialize tree | 845.00 ns/op | 853.00 ns/op | 0.99 | | BeaconState.historicalRoots vc 300000 - serialize tree | 703.00 ns/op | 681.00 ns/op | 1.03 | | BeaconState.validators vc 300000 - deserialize tree | 540.25 ms/op | 547.79 ms/op | 0.99 | | BeaconState.validators vc 300000 - serialize tree | 103.69 ms/op | 98.385 ms/op | 1.05 | | BeaconState.balances vc 300000 - deserialize tree | 21.406 ms/op | 23.017 ms/op | 0.93 | | BeaconState.balances vc 300000 - serialize tree | 3.6043 ms/op | 2.8993 ms/op | 1.24 | | BeaconState.previousEpochParticipation vc 300000 - deserialize tree | 412.12 us/op | 330.08 us/op | 1.25 | | BeaconState.previousEpochParticipation vc 300000 - serialize tree | 279.51 us/op | 269.52 us/op | 1.04 | | BeaconState.currentEpochParticipation vc 300000 - deserialize tree | 401.82 us/op | 333.11 us/op | 1.21 | | BeaconState.currentEpochParticipation vc 300000 - serialize tree | 272.50 us/op | 264.88 us/op | 1.03 | | BeaconState.inactivityScores vc 300000 - deserialize tree | 20.342 ms/op | 16.154 ms/op | 1.26 | | BeaconState.inactivityScores vc 300000 - serialize tree | 2.5944 ms/op | 3.4338 ms/op | 0.76 | | hashTreeRoot Attestation - struct | 27.249 us/op | 30.822 us/op | 0.88 | | hashTreeRoot Attestation - tree | 22.092 us/op | 18.097 us/op | 1.22 | | hashTreeRoot SignedAggregateAndProof - struct | 38.663 us/op | 42.596 us/op | 0.91 | | hashTreeRoot SignedAggregateAndProof - tree | 27.811 us/op | 28.453 us/op | 0.98 | | hashTreeRoot SyncCommitteeMessage - struct | 9.2400 us/op | 10.025 us/op | 0.92 | | hashTreeRoot SyncCommitteeMessage - tree | 6.2240 us/op | 6.2560 us/op | 0.99 | | hashTreeRoot SignedContributionAndProof - struct | 26.293 us/op | 28.525 us/op | 0.92 | | hashTreeRoot SignedContributionAndProof - tree | 19.722 us/op | 20.204 us/op | 0.98 | | hashTreeRoot SignedBeaconBlock - struct | 2.3410 ms/op | 2.3373 ms/op | 1.00 | | hashTreeRoot SignedBeaconBlock - tree | 1.6833 ms/op | 1.6751 ms/op | 1.00 | | hashTreeRoot Validator - struct | 12.457 us/op | 12.879 us/op | 0.97 | | hashTreeRoot Validator - tree | 10.802 us/op | 11.140 us/op | 0.97 | | BeaconState vc 300000 - hashTreeRoot tree | 3.7058 s/op | 3.6818 s/op | 1.01 | | BeaconState.historicalRoots vc 300000 - hashTreeRoot tree | 1.5430 us/op | 1.4570 us/op | 1.06 | | BeaconState.validators vc 300000 - hashTreeRoot tree | 3.4770 s/op | 3.4889 s/op | 1.00 | | BeaconState.balances vc 300000 - hashTreeRoot tree | 85.261 ms/op | 88.129 ms/op | 0.97 | | BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree | 9.0127 ms/op | 9.0431 ms/op | 1.00 | | BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree | 9.1212 ms/op | 9.1932 ms/op | 0.99 | | BeaconState.inactivityScores vc 300000 - hashTreeRoot tree | 83.441 ms/op | 82.965 ms/op | 1.01 | | hash64 x18 | 18.908 us/op | 19.748 us/op | 0.96 | | hashTwoObjects x18 | 17.665 us/op | 18.014 us/op | 0.98 | | hash64 x1740 | 1.7996 ms/op | 1.8368 ms/op | 0.98 | | hashTwoObjects x1740 | 1.6855 ms/op | 1.7150 ms/op | 0.98 | | hash64 x2700000 | 2.8218 s/op | 2.8577 s/op | 0.99 | | hashTwoObjects x2700000 | 2.6233 s/op | 2.6681 s/op | 0.98 | | get_exitEpoch - ContainerType | 215.00 ns/op | 216.00 ns/op | 1.00 | | get_exitEpoch - ContainerNodeStructType | 209.00 ns/op | 217.00 ns/op | 0.96 | | set_exitEpoch - ContainerType | 240.00 ns/op | 241.00 ns/op | 1.00 | | set_exitEpoch - ContainerNodeStructType | 211.00 ns/op | 209.00 ns/op | 1.01 | | get_pubkey - ContainerType | 1.0620 us/op | 1.0260 us/op | 1.04 | | get_pubkey - ContainerNodeStructType | 222.00 ns/op | 205.00 ns/op | 1.08 | | hashTreeRoot - ContainerType | 403.00 ns/op | 402.00 ns/op | 1.00 | | hashTreeRoot - ContainerNodeStructType | 423.00 ns/op | 447.00 ns/op | 0.95 | | createProof - ContainerType | 3.9180 us/op | 4.0010 us/op | 0.98 | | createProof - ContainerNodeStructType | 20.918 us/op | 21.490 us/op | 0.97 | | serialize - ContainerType | 1.7660 us/op | 1.7770 us/op | 0.99 | | serialize - ContainerNodeStructType | 1.4550 us/op | 1.5060 us/op | 0.97 | | set_exitEpoch_and_hashTreeRoot - ContainerType | 4.0010 us/op | 4.0980 us/op | 0.98 | | set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType | 11.106 us/op | 11.258 us/op | 0.99 | | Array - for of | 6.1450 us/op | 4.8960 us/op | 1.26 | | Array - for(;;) | 5.5020 us/op | 4.3240 us/op | 1.27 | | basicListValue.readonlyValuesArray() | 3.6998 ms/op | 3.9963 ms/op | 0.93 | | basicListValue.readonlyValuesArray() + loop all | 3.7713 ms/op | 4.0088 ms/op | 0.94 | | compositeListValue.readonlyValuesArray() | 26.448 ms/op | 29.343 ms/op | 0.90 | | compositeListValue.readonlyValuesArray() + loop all | 23.999 ms/op | 25.721 ms/op | 0.93 | | Number64UintType - get balances list | 4.1592 ms/op | 4.1484 ms/op | 1.00 | | Number64UintType - set balances list | 8.8552 ms/op | 10.053 ms/op | 0.88 | | Number64UintType - get and increase 10 then set | 41.728 ms/op | 39.758 ms/op | 1.05 | | Number64UintType - increase 10 using applyDelta | 14.954 ms/op | 15.934 ms/op | 0.94 | | Number64UintType - increase 10 using applyDeltaInBatch | 15.026 ms/op | 16.722 ms/op | 0.90 | | tree_newTreeFromUint64Deltas | 15.124 ms/op | 15.668 ms/op | 0.97 | | unsafeUint8ArrayToTree | 29.474 ms/op | 29.900 ms/op | 0.99 | | bitLength(50) | 231.00 ns/op | 235.00 ns/op | 0.98 | | bitLengthStr(50) | 239.00 ns/op | 250.00 ns/op | 0.96 | | bitLength(8000) | 223.00 ns/op | 227.00 ns/op | 0.98 | | bitLengthStr(8000) | 282.00 ns/op | 285.00 ns/op | 0.99 | | bitLength(250000) | 227.00 ns/op | 225.00 ns/op | 1.01 | | bitLengthStr(250000) | 312.00 ns/op | 326.00 ns/op | 0.96 | | floor - Math.floor (53) | 0.46460 ns/op | 0.46587 ns/op | 1.00 | | floor - << 0 (53) | 0.46553 ns/op | 0.46457 ns/op | 1.00 | | floor - Math.floor (512) | 0.46396 ns/op | 0.46432 ns/op | 1.00 | | floor - << 0 (512) | 0.46373 ns/op | 0.47131 ns/op | 0.98 | | fnIf(0) | 1.5462 ns/op | 1.5465 ns/op | 1.00 | | fnSwitch(0) | 2.4747 ns/op | 2.5243 ns/op | 0.98 | | fnObj(0) | 0.47015 ns/op | 0.46395 ns/op | 1.01 | | fnArr(0) | 0.46431 ns/op | 0.46537 ns/op | 1.00 | | fnIf(4) | 2.1656 ns/op | 2.1709 ns/op | 1.00 | | fnSwitch(4) | 2.4750 ns/op | 2.4745 ns/op | 1.00 | | fnObj(4) | 0.46573 ns/op | 0.46438 ns/op | 1.00 | | fnArr(4) | 0.46902 ns/op | 0.46647 ns/op | 1.01 | | fnIf(9) | 3.0909 ns/op | 3.0910 ns/op | 1.00 | | fnSwitch(9) | 2.5140 ns/op | 2.4859 ns/op | 1.01 | | fnObj(9) | 0.46726 ns/op | 0.46528 ns/op | 1.00 | | fnArr(9) | 0.46701 ns/op | 0.47203 ns/op | 0.99 | | Container {a,b,vec} - as struct x100000 | 46.596 us/op | 46.695 us/op | 1.00 | | Container {a,b,vec} - as tree x100000 | 371.47 us/op | 371.38 us/op | 1.00 | | Container {a,vec,b} - as struct x100000 | 77.513 us/op | 78.555 us/op | 0.99 | | Container {a,vec,b} - as tree x100000 | 405.50 us/op | 402.19 us/op | 1.01 | | get 2 props x1000000 - rawObject | 312.08 us/op | 309.29 us/op | 1.01 | | get 2 props x1000000 - proxy | 71.354 ms/op | 72.221 ms/op | 0.99 | | get 2 props x1000000 - customObj | 311.59 us/op | 310.22 us/op | 1.00 | | Simple object binary -> struct | 940.00 ns/op | 642.00 ns/op | 1.46 | | Simple object binary -> tree_backed | 2.5320 us/op | 1.6770 us/op | 1.51 | | Simple object struct -> tree_backed | 3.2520 us/op | 2.1900 us/op | 1.48 | | Simple object tree_backed -> struct | 2.6010 us/op | 1.9030 us/op | 1.37 | | Simple object struct -> binary | 1.2970 us/op | 896.00 ns/op | 1.45 | | Simple object tree_backed -> binary | 2.2460 us/op | 1.4930 us/op | 1.50 | | aggregationBits binary -> struct | 936.00 ns/op | 559.00 ns/op | 1.67 | | aggregationBits binary -> tree_backed | 2.7080 us/op | 2.1680 us/op | 1.25 | | aggregationBits struct -> tree_backed | 3.1210 us/op | 2.5820 us/op | 1.21 | | aggregationBits tree_backed -> struct | 1.3740 us/op | 1.0620 us/op | 1.29 | | aggregationBits struct -> binary | 937.00 ns/op | 765.00 ns/op | 1.22 | | aggregationBits tree_backed -> binary | 1.1290 us/op | 912.00 ns/op | 1.24 | | List(uint8) 100000 binary -> struct | 1.5202 ms/op | 1.4138 ms/op | 1.08 | | List(uint8) 100000 binary -> tree_backed | 92.773 us/op | 92.033 us/op | 1.01 | | List(uint8) 100000 struct -> tree_backed | 1.3289 ms/op | 1.3474 ms/op | 0.99 | | List(uint8) 100000 tree_backed -> struct | 987.79 us/op | 935.05 us/op | 1.06 | | List(uint8) 100000 struct -> binary | 1.2312 ms/op | 1.2047 ms/op | 1.02 | | List(uint8) 100000 tree_backed -> binary | 81.158 us/op | 85.075 us/op | 0.95 | | List(uint64Number) 100000 binary -> struct | 1.1803 ms/op | 1.1630 ms/op | 1.01 | | List(uint64Number) 100000 binary -> tree_backed | 3.0032 ms/op | 3.0756 ms/op | 0.98 | | List(uint64Number) 100000 struct -> tree_backed | 4.6540 ms/op | 4.6349 ms/op | 1.00 | | List(uint64Number) 100000 tree_backed -> struct | 2.0377 ms/op | 2.1046 ms/op | 0.97 | | List(uint64Number) 100000 struct -> binary | 1.4315 ms/op | 1.4424 ms/op | 0.99 | | List(uint64Number) 100000 tree_backed -> binary | 784.36 us/op | 821.54 us/op | 0.95 | | List(Uint64Bigint) 100000 binary -> struct | 3.4470 ms/op | 3.4725 ms/op | 0.99 | | List(Uint64Bigint) 100000 binary -> tree_backed | 3.0406 ms/op | 3.0211 ms/op | 1.01 | | List(Uint64Bigint) 100000 struct -> tree_backed | 5.5171 ms/op | 5.1078 ms/op | 1.08 | | List(Uint64Bigint) 100000 tree_backed -> struct | 4.6133 ms/op | 4.3443 ms/op | 1.06 | | List(Uint64Bigint) 100000 struct -> binary | 2.0504 ms/op | 2.0732 ms/op | 0.99 | | List(Uint64Bigint) 100000 tree_backed -> binary | 828.86 us/op | 937.51 us/op | 0.88 | | Vector(Root) 100000 binary -> struct | 27.833 ms/op | 27.678 ms/op | 1.01 | | Vector(Root) 100000 binary -> tree_backed | 30.186 ms/op | 29.364 ms/op | 1.03 | | Vector(Root) 100000 struct -> tree_backed | 34.777 ms/op | 33.369 ms/op | 1.04 | | Vector(Root) 100000 tree_backed -> struct | 42.762 ms/op | 43.151 ms/op | 0.99 | | Vector(Root) 100000 struct -> binary | 1.8472 ms/op | 1.8679 ms/op | 0.99 | | Vector(Root) 100000 tree_backed -> binary | 8.2843 ms/op | 8.5358 ms/op | 0.97 | | List(Validator) 100000 binary -> struct | 95.157 ms/op | 104.69 ms/op | 0.91 | | List(Validator) 100000 binary -> tree_backed | 254.95 ms/op | 273.37 ms/op | 0.93 | | List(Validator) 100000 struct -> tree_backed | 300.04 ms/op | 295.71 ms/op | 1.01 | | List(Validator) 100000 tree_backed -> struct | 196.40 ms/op | 191.71 ms/op | 1.02 | | List(Validator) 100000 struct -> binary | 29.979 ms/op | 31.039 ms/op | 0.97 | | List(Validator) 100000 tree_backed -> binary | 100.46 ms/op | 95.991 ms/op | 1.05 | | List(Validator-NS) 100000 binary -> struct | 101.16 ms/op | 96.884 ms/op | 1.04 | | List(Validator-NS) 100000 binary -> tree_backed | 142.25 ms/op | 153.07 ms/op | 0.93 | | List(Validator-NS) 100000 struct -> tree_backed | 183.18 ms/op | 190.48 ms/op | 0.96 | | List(Validator-NS) 100000 tree_backed -> struct | 148.88 ms/op | 151.71 ms/op | 0.98 | | List(Validator-NS) 100000 struct -> binary | 30.344 ms/op | 31.352 ms/op | 0.97 | | List(Validator-NS) 100000 tree_backed -> binary | 35.262 ms/op | 36.683 ms/op | 0.96 | | get epochStatuses - MutableVector | 89.938 us/op | 89.932 us/op | 1.00 | | get epochStatuses - ViewDU | 202.82 us/op | 206.80 us/op | 0.98 | | set epochStatuses - ListTreeView | 1.4521 ms/op | 1.4231 ms/op | 1.02 | | set epochStatuses - ListTreeView - set() | 428.55 us/op | 436.29 us/op | 0.98 | | set epochStatuses - ListTreeView - commit() | 398.82 us/op | 445.32 us/op | 0.90 | | bitstring | 639.87 ns/op | 642.41 ns/op | 1.00 | | bit mask | 13.834 ns/op | 13.538 ns/op | 1.02 | | struct - increase slot to 1000000 | 927.60 us/op | 928.07 us/op | 1.00 | | UintNumberType - increase slot to 1000000 | 28.470 ms/op | 28.481 ms/op | 1.00 | | UintBigintType - increase slot to 1000000 | 404.99 ms/op | 430.69 ms/op | 0.94 | | UintBigint8 x 100000 tree_deserialize | 5.1037 ms/op | 5.4886 ms/op | 0.93 | | UintBigint8 x 100000 tree_serialize | 1.1855 ms/op | 1.1857 ms/op | 1.00 | | UintBigint16 x 100000 tree_deserialize | 4.7334 ms/op | 4.6997 ms/op | 1.01 | | UintBigint16 x 100000 tree_serialize | 1.1773 ms/op | 1.1887 ms/op | 0.99 | | UintBigint32 x 100000 tree_deserialize | 5.0884 ms/op | 5.7579 ms/op | 0.88 | | UintBigint32 x 100000 tree_serialize | 1.2415 ms/op | 1.2441 ms/op | 1.00 | | UintBigint64 x 100000 tree_deserialize | 5.6140 ms/op | 6.2432 ms/op | 0.90 | | UintBigint64 x 100000 tree_serialize | 1.6253 ms/op | 1.6056 ms/op | 1.01 | | UintBigint8 x 100000 value_deserialize | 433.22 us/op | 433.18 us/op | 1.00 | | UintBigint8 x 100000 value_serialize | 610.41 us/op | 613.44 us/op | 1.00 | | UintBigint16 x 100000 value_deserialize | 464.30 us/op | 464.43 us/op | 1.00 | | UintBigint16 x 100000 value_serialize | 647.27 us/op | 653.41 us/op | 0.99 | | UintBigint32 x 100000 value_deserialize | 433.04 us/op | 433.40 us/op | 1.00 | | UintBigint32 x 100000 value_serialize | 648.89 us/op | 651.03 us/op | 1.00 | | UintBigint64 x 100000 value_deserialize | 466.33 us/op | 465.83 us/op | 1.00 | | UintBigint64 x 100000 value_serialize | 827.75 us/op | 825.39 us/op | 1.00 | | UintBigint8 x 100000 deserialize | 4.7775 ms/op | 4.6694 ms/op | 1.02 | | UintBigint8 x 100000 serialize | 1.4998 ms/op | 1.4428 ms/op | 1.04 | | UintBigint16 x 100000 deserialize | 4.5551 ms/op | 4.5884 ms/op | 0.99 | | UintBigint16 x 100000 serialize | 1.5199 ms/op | 1.5044 ms/op | 1.01 | | UintBigint32 x 100000 deserialize | 5.3526 ms/op | 5.3718 ms/op | 1.00 | | UintBigint32 x 100000 serialize | 2.8297 ms/op | 2.7840 ms/op | 1.02 | | UintBigint64 x 100000 deserialize | 3.7717 ms/op | 3.6328 ms/op | 1.04 | | UintBigint64 x 100000 serialize | 1.4805 ms/op | 1.4816 ms/op | 1.00 | | UintBigint128 x 100000 deserialize | 5.8880 ms/op | 5.7264 ms/op | 1.03 | | UintBigint128 x 100000 serialize | 17.780 ms/op | 17.443 ms/op | 1.02 | | UintBigint256 x 100000 deserialize | 11.139 ms/op | 10.643 ms/op | 1.05 | | UintBigint256 x 100000 serialize | 53.180 ms/op | 51.289 ms/op | 1.04 | | Slice from Uint8Array x25000 | 1.0139 ms/op | 997.24 us/op | 1.02 | | Slice from ArrayBuffer x25000 | 17.889 ms/op | 17.436 ms/op | 1.03 | | Slice from ArrayBuffer x25000 + new Uint8Array | 19.803 ms/op | 18.399 ms/op | 1.08 | | Copy Uint8Array 100000 iterate | 819.98 us/op | 806.68 us/op | 1.02 | | Copy Uint8Array 100000 slice | 88.189 us/op | 91.493 us/op | 0.96 | | Copy Uint8Array 100000 Uint8Array.prototype.slice.call | 87.179 us/op | 91.705 us/op | 0.95 | | Copy Buffer 100000 Uint8Array.prototype.slice.call | 93.702 us/op | 91.953 us/op | 1.02 | | Copy Uint8Array 100000 slice + set | 182.01 us/op | 151.79 us/op | 1.20 | | Copy Uint8Array 100000 subarray + set | 94.719 us/op | 91.115 us/op | 1.04 | | Copy Uint8Array 100000 slice arrayBuffer | 89.601 us/op | 92.415 us/op | 0.97 | | Uint64 deserialize 100000 - iterate Uint8Array | 1.8267 ms/op | 1.7589 ms/op | 1.04 | | Uint64 deserialize 100000 - by Uint32A | 1.8855 ms/op | 1.7543 ms/op | 1.07 | | Uint64 deserialize 100000 - by DataView.getUint32 x2 | 1.8816 ms/op | 1.7946 ms/op | 1.05 | | Uint64 deserialize 100000 - by DataView.getBigUint64 | 4.9586 ms/op | 4.8848 ms/op | 1.02 | | Uint64 deserialize 100000 - by byte | 65.197 ms/op | 65.296 ms/op | 1.00 |

by benchmarkbot/action

ensi321 commented 3 months ago

did you confirm the website works as expected locally?

Yea, I couldn't build and check the website properly on my Mac without changing node-sass to dart-sass.

Checked serialize, deserialize and file upload functionality and they look okay.