servicetitan/Stl.Fusion

Improve Purge in ComputedRegistry & ReplicaRegistry

alexyakunin opened this issue · 1 comments

There is a number of problems:

  1. Default capacity should be ~ 100-200 in WASM (it's almost 8K now - I tuned it for server-side scenarios)
  2. Use precise counter instead of stochastic counter in WASM (1 core = no point)
  3. Use a separate dict + maybe something similar to generations for strong refs. Ideally, strong refs should be replaced to weak ones as quickly as possible & Purge cycles in this part must be fairly frequent (1s or so), otherwise -- combined w/ a huge capacity & stochastic counters -- it leads to issues like #7 .

Most of these issues were addressed in 0.4.