nimbus-eth2/beacon_chain/spec
Jacek Sieka 78b767f645
avoid genericAssign for beacon node types (#1166)
* avoid genericAssign for beacon node types

ok, I got fed up of this function messing up cpu measurements - it's so
ridiculously slow, it's sad.

before, while syncing:

```
40,65%  beacon_node_shared_witti_0  [.]
genericAssignAux__U5DxFPRpHCCZDKWQzM9adaw
   9,02%  libc-2.31.so                [.] __memmove_avx_unaligned_erms
   7,07%  beacon_node_shared_witti_0  [.] BIG_384_58_monty
   5,19%  beacon_node_shared_witti_0  [.] BIG_384_58_mul
   2,72%  beacon_node_shared_witti_0  [.] memcpy@plt
   1,18%  [kernel]                    [k] rb_next
   1,17%  beacon_node_shared_witti_0  [.] genericReset
   1,06%  [kernel]                    [k] map_private_extent_buffer
```

after:

```
  24,88%  beacon_node_shared_witti_0  [.] BIG_384_58_monty
  20,29%  beacon_node_shared_witti_0  [.] BIG_384_58_mul
   3,15%  beacon_node_shared_witti_0  [.] BIG_384_58_norm
   2,93%  beacon_node_shared_witti_0  [.] BIG_384_58_add
   2,55%  beacon_node_shared_witti_0  [.] BIG_384_58_sqr
   1,64%  beacon_node_shared_witti_0  [.] BIG_384_58_mod
1,63%  beacon_node_shared_witti_0  [.]
sha256Transform__BJNBQtWr9bJwzqbyfKXd38Q
   1,48%  beacon_node_shared_witti_0  [.] FP_BLS381_add
   1,39%  beacon_node_shared_witti_0  [.] BIG_384_58_sub
   1,33%  beacon_node_shared_witti_0  [.] BIG_384_58_dnorm
   1,14%  beacon_node_shared_witti_0  [.] FP2_BLS381_mul
   1,05%  beacon_node_shared_witti_0  [.] BIG_384_58_cmove
1,05%  beacon_node_shared_witti_0  [.]
get_shuffled_seq__4uncAHNsSG3Pndo5H11U9aQ
```

* better field iteration
2020-06-12 21:10:22 +02:00
..
eth2_apis can finalize successfully with external VCs! + some other cleanup 2020-06-10 13:50:50 +03:00
presets allow compile-time switching between v0.11.3 and v0.12.1 2020-06-09 18:39:05 +00:00
beaconstate.nim Small fixes (#1165) 2020-06-12 18:43:20 +02:00
crypto.nim Address review comments 2020-06-11 17:40:08 +03:00
datatypes.nim avoid genericAssign for beacon node types (#1166) 2020-06-12 21:10:22 +02:00
digest.nim update all remaining beacon chain spec references from v0.11.1 and v0.11.2 to v0.11.3 2020-05-20 08:48:18 +00:00
english_word_list.txt Bump testutils 2020-06-01 16:58:28 +03:00
helpers.nim allow compile-time switching between v0.11.3 and v0.12.1 2020-06-09 18:39:05 +00:00
keystore.nim Address review comments 2020-06-11 17:40:08 +03:00
network.nim allow compile-time switching between v0.11.3 and v0.12.1 2020-06-09 18:39:05 +00:00
state_transition_block.nim allow compile-time switching between v0.11.3 and v0.12.1 2020-06-09 18:39:05 +00:00
state_transition_epoch.nim Small fixes (#1165) 2020-06-12 18:43:20 +02:00
state_transition_helpers.nim audit & update spec references for some slashing and rewards and penalty functions; check and update all remaining v0.11.0 spec references to v0.11.3 [skip ci] 2020-05-20 14:57:08 +00:00
validator.nim can finalize successfully with external VCs! + some other cleanup 2020-06-10 13:50:50 +03:00