Alexey Mayshev
Alexey Mayshev
@Yiling-J I wanted to come with a separate issue about this (and most likely about theine benchmarks in general), but that would be a very long discussion, and it's much...
@ben-manes I just took the traces from ristretto benchmarks https://github.com/dgraph-io/benchmarks/tree/master/cachebench/ristretto/trace (better to download individually as the repository is very large).
@1a1a11a I'm certainly not Ben, but it seems that [bp-wrapper](https://www.researchgate.net/publication/220966845_BP-Wrapper_A_System_Framework_Making_Any_Replacement_Algorithms_Almost_Lock_Contention_Free) and a set of wait-free lossy buffers can give even greater scalability than lock-free queues. Articles on caffeine architecture: [first](http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html)...
Ugh, I urgently need a reaction with popcorn on github. I'm probably not competent enough to argue about S3-FIFO and W-TinyLFU. Let me just say that if you only need...
Spoiler: it's actually a problem for theine as well. Since a key containing strings will select a random shard and hit ratio will be very small.
If you just need a hasher for comparable types, I can recommend https://github.com/dolthub/maphash that uses a set of dirty tricks to pull a hash function from a standard map
I tried to update the otter benchmarks today and tried to replicate the caffeine benchmarks and there seems to be a reason for these numbers in the caffeine benchmark results....
Of course, I can attach such pictures in the readme, but I have big questions about the honesty of such benchmarks.
@Yiling-J I noted maphash because all other solutions will raise the same question, "What will you do if the key contains multiple strings?".
@Yiling-J Eh, if only it were that simple... Since Go 1.20 interfaces are comparable and this example will not pass: ```go package kek import ( "fmt" "github.com/dolthub/maphash" "github.com/zeebo/xxh3" "testing" "unsafe"...