Open
Description
Is what you see when you do an allocation profile of kubo when under load (ipfs add
& ipfs get
& gateway).
The goal is to reduce CPU usage by running GC less often, reduce stop the world events (and cooperative preamptions) and finaly give better latency.
This is a collection of smallish refactors that we should fix :
- valuify
blocks.Block
go-block-format#45 -
multiaddr.Protocols
, adding amultiaddr.AppendProtocols
(and using it), woud allow to reuse slice capacity: perf: Add AppendProtocols for a an allocation free to get the protocols multiformats/go-multiaddr#188 - perf: outline logic in Decode to allow for stack allocations multiformats/go-multihash#174
- perf: add a generic CID type which allows for aliased byte slices go-cid#159