全銘柄全期間のデータをメモリに持ってしまってもいいと僕は思っています。いまどき358MBくらいメモリを使っても、他のアプリケーションの動作に支障をきたすことはないでしょう。銘柄ごとにDeflateで圧縮しておいて、参照するたびに伸張するという手もあります。これなら123MBです。このアイデアを別のチケットを#26576にしてみました。どうでしょう?
全銘柄参照したときにメモリ不足に陥る可能性があるので、調査からしようと考えていました 500MB以内で済むレベルなら動きそうですね
こちらは取り下げます
#26490で他銘柄を参照する機能を追加したが、参照した銘柄のデータを再参照する可能性が高いことを考慮して、1度参照した銘柄の全期間のデータをキャッシュするようにしている。数銘柄を参照するだけなら問題ないが、全銘柄を参照する場合は、全銘柄の全期間のデータをメモリに読み込むことになるため、キャッシュする範囲を改良する必要がある。