good morning!!!!

Skip to content
Snippets Groups Projects
  1. May 25, 2021
  2. May 24, 2021
  3. May 22, 2021
    • Felix Lange's avatar
      rlp: optimize byte array handling (#22924) · 154ca32a
      Felix Lange authored
      This change improves the performance of encoding/decoding [N]byte.
      
          name                     old time/op    new time/op    delta
          DecodeByteArrayStruct-8     336ns ± 0%     246ns ± 0%  -26.98%  (p=0.000 n=9+10)
          EncodeByteArrayStruct-8     225ns ± 1%     148ns ± 1%  -34.12%  (p=0.000 n=10+10)
      
          name                     old alloc/op   new alloc/op   delta
          DecodeByteArrayStruct-8      120B ± 0%       48B ± 0%  -60.00%  (p=0.000 n=10+10)
          EncodeByteArrayStruct-8     0.00B          0.00B          ~     (all equal)
    • Felix Lange's avatar
      rlp: use atomic.Value for type cache (#22902) · 0d076d92
      Felix Lange authored
      All encoding/decoding operations read the type cache to find the
      writer/decoder function responsible for a type. When analyzing CPU
      profiles of geth during sync, I found that the use of sync.RWMutex in
      cache lookups appears in the profiles. It seems we are running into
      CPU cache contention problems when package rlp is heavily used
      on all CPU cores during sync.
      
      This change makes it use atomic.Value + a writer lock instead of
      sync.RWMutex. In the common case where the typeinfo entry is present in
      the cache, we simply fetch the map and lookup the type.
  4. May 21, 2021
  5. May 20, 2021
  6. May 19, 2021
  7. May 18, 2021
  8. May 17, 2021
  9. May 12, 2021
  10. May 11, 2021
  11. May 10, 2021
  12. May 07, 2021
  13. May 06, 2021
Loading