1. 29 Aug, 2021 2 commits
  2. 24 Aug, 2021 4 commits
  3. 13 Jul, 2021 1 commit
  4. 13 May, 2021 1 commit
  5. 22 Apr, 2021 1 commit
  6. 01 Apr, 2021 1 commit
  7. 03 Mar, 2021 2 commits
  8. 19 Feb, 2021 1 commit
  9. 17 Feb, 2021 1 commit
  10. 16 Feb, 2021 1 commit
  11. 18 Jan, 2021 2 commits
  12. 26 Aug, 2020 3 commits
  13. 14 Aug, 2020 7 commits
  14. 12 Aug, 2020 2 commits
  15. 11 Aug, 2020 4 commits
  16. 10 Aug, 2020 1 commit
  17. 07 Aug, 2020 1 commit
    • Steven Allen's avatar
      optimize byte reading · 86493506
      Steven Allen authored
      When using cbor-gen, we _usually_ work with byte buffers/readers. Calling
      `ReadByte` on a byte.Reader/byte.Buffer is much faster than calling `Read` and
      copying into a slice.
      
          name            old time/op    new time/op    delta
          Marshaling-4       911ns ± 2%     904ns ± 5%     ~     (p=0.646 n=9+10)
          Unmarshaling-4    4.46µs ± 1%    3.94µs ± 2%  -11.55%  (p=0.000 n=10+8)
          LinkScan-4        4.65µs ± 2%    4.01µs ± 2%  -13.76%  (p=0.000 n=9+10)
          Deferred-4        3.68µs ± 3%    3.02µs ± 4%  -17.91%  (p=0.000 n=10+10)
      
          name            old alloc/op   new alloc/op   delta
          Marshaling-4        160B ± 0%      160B ± 0%     ~     (all equal)
          Unmarshaling-4    3.46kB ± 0%    3.46kB ± 0%     ~     (all equal)
          LinkScan-4          880B ± 0%      880B ± 0%     ~     (p=0.650 n=10+10)
          Deferred-4         96.0B ± 0%     96.0B ± 0%     ~     (all equal)
      
          name            old allocs/op  new allocs/op  delta
          Marshaling-4        10.0 ± 0%      10.0 ± 0%     ~     (all equal)
          Unmarshaling-4      43.0 ± 0%      43.0 ± 0%     ~     (all equal)
          LinkScan-4          25.0 ± 0%      25.0 ± 0%     ~     (all equal)
          Deferred-4          3.00 ± 0%      3.00 ± 0%     ~     (all equal)
      86493506
  18. 06 Aug, 2020 2 commits
  19. 05 Aug, 2020 3 commits
    • Steven Allen's avatar
      Make ScanForLinks non-recursive · f6390fed
      Steven Allen authored
      This way, we can't blow out our stack.
      f6390fed
    • Steven Allen's avatar
      Optimize Deferred · cdf4113c
      Steven Allen authored
      We use this quite frequently so it should be fast.
      
      Note: this removes the depth restriction because the algorithm is no longer recursive.
      cdf4113c
    • Steven Allen's avatar
      Optimize readByte · 3c783b99
      Steven Allen authored
      Type asserting to a concrete type is ~10x faster than type asserting to an
      interface. This change has a significant performance impact in my test. readByte
      used to account for 10.8% of the time, now it accounts for 3.4%.
      3c783b99