開発の動機
- Go のキャッシュライブラリには、真に contention-free なものがない。ほとんどはミューテックスと削除ポリシーを備えたマップにすぎない
- そのため、他言語のキャッシュ(例: Caffeine)の速度には及ばない
- Dgraph Labs の最速キャッシュである Ristretto は競合製品より最大 30% 高速だったが(Otter はさらにずっと高速)、Hit ratio が良くなかった
- 実際のアプリケーションでは、キャッシュライブラリの性能がボトルネックになってほしくないため、これは問題になり得る
- その結果、最速で最も使いやすいキャッシュを作りたかった
主な機能
- シンプルな API: Builder で必要なパラメータを設定して使うだけ
- 自動構成: アプリケーションの並列処理能力に基づいて自動的に構成される
- ジェネリクス: キーには比較可能なあらゆる型を安全に使え、値にはあらゆる型を使える
- TTL: 期限切れの値はキャッシュから自動的に削除される
- コストベースの削除: 各項目のコストに基づく削除をサポート
- 優れたスループット: 現在の競合製品を大きく上回る最速のキャッシュライブラリ(Theine, Ristretto, Bigcache, Fastcache)
- 優れた Hit ratio: 優秀な結果を示す新しい S3-FIFO アルゴリズムを採用
1件のコメント
名前に何となく見覚えがあったので調べてみたら、こんなのがありました。
Otter: コンテキスト内で命令チューニングが可能なマルチモーダルモデル
もう動物の名前で何かを作るのはやめたほうがよさそうです。よほど珍しいものでない限り、たいてい存在しますね。
AI分析の意見もよかったので追加してみます。
GN⁺の意見