mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-01-09 13:56:23 +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 ```