Motivation
- Unter den Go-Cache-Bibliotheken gibt es keine wirklich contention-free Lösung. Die meisten sind nur Maps mit Mutexen und einer Eviction-Policy.
- Dadurch erreichen sie nicht die Geschwindigkeit von Caches in anderen Sprachen, etwa Caffeine.
- Ristretto, der schnellste Cache von Dgraph Labs, war zwar bis zu 30 % schneller als die Konkurrenz (Otter ist noch deutlich schneller), hatte aber keine gute Hit Ratio.
- In realen Anwendungen kann das problematisch sein, weil man nicht an die Leistungsgrenzen der Cache-Bibliothek stoßen möchte.
- Daher sollte der schnellste und am einfachsten zu nutzende Cache entstehen.
Hauptfunktionen
- Einfache API: Gewünschte Parameter im Builder setzen und direkt verwenden.
- Automatische Konfiguration: Wird automatisch auf Basis der Parallelisierungsfähigkeit der Anwendung konfiguriert.
- Generics: Jeder vergleichbare Typ kann sicher als Schlüssel verwendet werden, und jeder Typ kann als Wert genutzt werden.
- TTL: Abgelaufene Werte werden automatisch aus dem Cache entfernt.
- Kostenbasierte Eviction: Unterstützt Eviction auf Basis der Kosten jedes Eintrags.
- Herausragender Durchsatz: Der derzeit schnellste Cache, der die Konkurrenzprodukte deutlich übertrifft (Theine, Ristretto, Bigcache, Fastcache).
- Hervorragende Hit Ratio: Verwendet den neuen S3-FIFO-Algorithmus, der sehr gute Ergebnisse liefert.
1 Kommentare
Der Name kam mir irgendwie bekannt vor, also habe ich nachgesehen, und es gab tatsächlich so etwas.
Otter: Ein multimodales Modell, bei dem sich Befehle im Kontext feinabstimmen lassen
Man sollte wohl besser damit aufhören, Dinge nach Tieren zu benennen. Wenn es nicht gerade etwas extrem Seltenes ist, gibt es die meisten Namen schon.
Die Einschätzung der KI-Analyse war auch ganz gut, daher füge ich sie noch hinzu.
Meinung von GN⁺