mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-01-11 06:46:10 +00:00
61538fa581
Replace shuffling function with zrnt version - `get_shuffled_seq` in particular puts more strain on the GC by allocating superfluous seq's which turns out to have a significant impact on block processing (when replaying blocks for example) - 4x improvement on non-epoch, 1.5x on epoch blocks (replay is done without signature checking) Medalla, first 10k slots - pre: ``` Loaded 68973 blocks, head slot 117077 All time are ms Average, StdDev, Min, Max, Samples, Test Validation is turned off meaning that no BLS operations are performed 76855.848, 0.000, 76855.848, 76855.848, 1, Initialize DB 1.073, 0.914, 0.071, 12.454, 7831, Load block from database 31.382, 0.000, 31.382, 31.382, 1, Load state from database 85.644, 30.350, 3.056, 466.136, 7519, Apply block 506.569, 91.129, 130.654, 874.786, 312, Apply epoch block ``` post: ``` Loaded 68973 blocks, head slot 117077 All time are ms Average, StdDev, Min, Max, Samples, Test Validation is turned off meaning that no BLS operations are performed 72457.303, 0.000, 72457.303, 72457.303, 1, Initialize DB 1.015, 0.858, 0.070, 11.231, 7831, Load block from database 28.983, 0.000, 28.983, 28.983, 1, Load state from database 21.725, 17.461, 2.659, 393.217, 7519, Apply block 324.012, 33.954, 45.452, 440.532, 312, Apply epoch block ```
48 lines
1.5 KiB
Nim
48 lines
1.5 KiB
Nim
# beacon_chain
|
|
# Copyright (c) 2018 Status Research & Development GmbH
|
|
# Licensed and distributed under either of
|
|
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
|
|
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
|
|
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
|
|
|
import ./testutil
|
|
|
|
import # Official constants
|
|
./official/test_fixture_const_sanity_check
|
|
|
|
import # Unit test
|
|
./test_attestation_pool,
|
|
./test_beacon_chain_db,
|
|
./test_beacon_node,
|
|
./test_beaconstate,
|
|
./test_bitseqs,
|
|
./test_block_pool,
|
|
./test_datatypes,
|
|
./test_helpers,
|
|
./test_keystore,
|
|
./test_mocking,
|
|
./test_mainchain_monitor,
|
|
./test_ssz,
|
|
./test_state_transition,
|
|
./test_sync_protocol,
|
|
./test_zero_signature,
|
|
./test_peer_pool,
|
|
./test_sync_manager,
|
|
./test_honest_validator,
|
|
./test_interop,
|
|
./fork_choice/tests_fork_choice
|
|
|
|
import # Refactor state transition unit tests
|
|
# In mainnet these take 2 minutes and are empty TODOs
|
|
./spec_block_processing/test_process_deposits,
|
|
./spec_block_processing/test_process_attestation,
|
|
./spec_epoch_processing/test_process_justification_and_finalization
|
|
|
|
# TODO: json tests were removed
|
|
|
|
# import # Official fixtures that don't require SSZ parsing of invalid BLS signatures
|
|
# # https://github.com/status-im/nim-beacon-chain/issues/374
|
|
# ./official/test_fixture_bls
|
|
|
|
summarizeLongTests("AllTests")
|