注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
パフォーマンスのために,データの生成にコストがかかるオブジェクトを辞書にキャッシュしておく,とい... パフォーマンスのために,データの生成にコストがかかるオブジェクトを辞書にキャッシュしておく,ということをよく行います。生成するオブジェクトが少ないならあまり気にする必要はないのですが,規模が大きくなるとメモリーリークの問題が出てきます。 Java には WeakHashMap のような弱い参照でキーを保持することにより,ガベージコレクションの恩恵を受けることができます。しかし .NET Framework には弱い参照を扱うクラスはおそらく存在しません。そのため,たとえば Dictionary<string, WeakReference> のような辞書を作ったりするわけですが,これは少し扱いづらいです。 検索するといくつか実装が見つかったのですが (下記),いずれもキー・値いずれにもクラス制約がついています。確かに弱い参照はクラスにしか使えないものですが,キーも値もクラスである必然性はあり
2015/06/11 リンク