ISUCON向けにGoのcacheライブラリを作成しています。 このライブラリは、ISUCONのように高パフォーマンスが求められる場面での利用を想定し、次のような経緯で開発を始めました。 以前は、キャッシュ用のコード片をコピーして微調整しながら使っていましたが、最近のGoのアップデートにより、状況が大きく改善されました。Genericsが一般的に使えるようになり、型ごとにコードを修正する必要がなくなったほか、deferのパフォーマンス問題もほとんど解消されています。こうした背景から、よりシンプルかつ効率的なキャッシュライブラリが作れると考え、次の方針で開発に取り組みました。 Genericsを活用して型安全かつ柔軟なキャッシュ機能を提供 標準ライブラリのみを使用して依存関係を最小限に 実際の利用を想定したシンプルで効率的な実装 使い方は以下で紹介しています。 この記事では日本語で簡単に使い