nimbus-eth2/tests
Jacek Sieka dcf8a6b05d
improve slot processing speeds (#1670)
about 40% better slot processing times (with LTO enabled) - these don't
do BLS but are used
heavily during replay (state transition = slot + block transition)

tests using a recent medalla state and advancing it 1000 slots:

```
./ncli slots --preState2:state-302271-3c1dbf19-c1f944bf.ssz --slot:1000
--postState2:xx.ssz
```
pre:

```

All time are ms
Average,       StdDev,          Min,          Max,      Samples,
Test
Validation is turned off meaning that no BLS operations are performed
39.236,        0.000,       39.236,       39.236,            1,
Load state from file
0.049,        0.002,        0.046,        0.063,          968,
Apply slot
256.504,       81.008,      213.471,      591.902,           32,
Apply epoch slot
28.597,        0.000,       28.597,       28.597,            1,
Save state to file
```

cast:
```
All time are ms
Average,       StdDev,          Min,          Max,      Samples,
Test
Validation is turned off meaning that no BLS operations are performed
37.079,        0.000,       37.079,       37.079,            1,
Load state from file
0.042,        0.002,        0.040,        0.090,          968,
Apply slot
215.552,       68.763,      180.155,      500.103,           32,
Apply epoch slot
25.106,        0.000,       25.106,       25.106,            1,
Save state to file
```

cast+rewards:
```
All time are ms
Average,       StdDev,          Min,          Max,      Samples,
Test
Validation is turned off meaning that no BLS operations are performed
40.049,        0.000,       40.049,       40.049,            1,
Load state from file
0.048,        0.001,        0.045,        0.060,          968,
Apply slot
164.981,       76.273,      142.099,      477.868,           32,
Apply epoch slot
28.498,        0.000,       28.498,       28.498,            1,
Save state to file
```

cast+rewards+shr
```
All time are ms
Average,       StdDev,          Min,          Max,      Samples,
Test
Validation is turned off meaning that no BLS operations are performed
12.898,        0.000,       12.898,       12.898,            1,
Load state from file
0.039,        0.002,        0.038,        0.054,          968,
Apply slot
139.971,       68.797,      120.088,      428.844,           32,
Apply epoch slot
24.761,        0.000,       24.761,       24.761,            1,
Save state to file

```
2020-09-16 20:59:33 +00:00
..
fork_choice Fork choice - almost free pruning - fix #1534 (#1535) 2020-08-26 17:23:34 +02:00
fuzzing Local sim now includes a prometheus server, a Ganache instance and a simulation dashboard server (in Tmux mode) 2020-06-22 17:30:04 +03:00
helpers Bump nim-blscurve (#1491) 2020-08-15 19:33:58 +02:00
mocking stop discarding future epochs; remove a StateCache() construction (#1610) 2020-09-07 15:04:33 +00:00
official improve slot processing speeds (#1670) 2020-09-16 20:59:33 +00:00
simulation use a separate process for the private keys (Off by default) - there is a new signing_process binary which loads all validators of the beacon node and the BN dictates through stdin of the signing process what to be signed and when and reads from stdout of the process 2020-09-02 12:47:00 +03:00
slashing_protection Opt-in Slashing protection + interchange (#1643) 2020-09-16 13:30:03 +02:00
spec_block_processing update 111 v0.12.1 beacon chain spec refs to v0.12.2 (#1380) 2020-07-27 18:49:46 +02:00
spec_epoch_processing stop discarding future epochs; remove a StateCache() construction (#1610) 2020-09-07 15:04:33 +00:00
all_tests.nim Opt-in Slashing protection + interchange (#1643) 2020-09-16 13:30:03 +02:00
all_tests.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
test_attestation_pool.nim fix some todo (#1645) 2020-09-14 14:50:03 +00:00
test_beacon_chain_db.nim cleanly close kvstore databases and bump nim-eth (#1630) 2020-09-12 05:35:58 +00:00
test_beacon_node.nim Generate markdown test reports 2020-03-13 14:38:59 +00:00
test_beaconstate.nim Prefer converting int` to uint64 and switch foo.len.uint64 to .len64 (#1375) 2020-07-26 20:55:48 +02:00
test_bitseqs.nim reorder ssz (#1099) 2020-06-03 15:52:02 +02:00
test_block_pool.nim fix some todo (#1645) 2020-09-14 14:50:03 +00:00
test_datatypes.nim Address review comments; Add a test 2020-07-12 21:01:31 +03:00
test_helpers.nim Generate markdown test reports 2020-03-13 14:38:59 +00:00
test_honest_validator.nim remove v0.11.3 support; add block_sim to CI (#1253) 2020-06-29 18:08:58 +00:00
test_interop.nim Bump nim-blscurve (#1491) 2020-08-15 19:33:58 +02:00
test_keystore.nim Bump nim-blscurve (#1491) 2020-08-15 19:33:58 +02:00
test_mainchain_monitor.nim bump submodules 2020-07-14 03:01:23 +02:00
test_mocking.nim refactor some Merkle proof generation code outside tests; remove unused variables/functions 2020-04-15 09:59:49 +00:00
test_peer_connection.nim more fork-choice fixes (#1388) 2020-07-30 17:48:25 +02:00
test_peer_pool.nim PeerPool fixes. (#1654) 2020-09-16 13:00:11 +03:00
test_ssz.nim Prefer converting int` to uint64 and switch foo.len.uint64 to .len64 (#1375) 2020-07-26 20:55:48 +02:00
test_state_transition.nim stop discarding future epochs; remove a StateCache() construction (#1610) 2020-09-07 15:04:33 +00:00
test_sync_manager.nim avoid double deserialization 2020-08-21 11:46:25 +03:00
test_sync_protocol.nim Generate markdown test reports 2020-03-13 14:38:59 +00:00
test_zero_signature.nim Revert "Lazy crypto [alt design #1369] (#1371)" (#1435) 2020-08-04 17:15:13 +00:00
testblockutil.nim implement clock disparity for attestation validation (#1568) 2020-08-27 09:34:12 +02:00
testutil.nim renamed CandidateChains to ChainDagRef and made the Quarantine type a ref type so there is a single instance in the beacon node (#1407) 2020-07-31 14:49:06 +00:00