キャッシュ機能の用例を書こうかと思っていましたが、前回のリリースからバグやらその他修正したい点がありましたので、修正版をアップしました。
バグフィックスの他に、以下の2点の強化を行っています。
■メモリ使用効率の改善(メモリマネージャの追加)
バックトラック時に不要なオブジェクトを解放していますが、多くの場合すぐに同じオブジェクトを使用することになります。このために不要なオブジェクトを直ぐに解放せずにリサイクルするようなメモリマネージャを追加しました。
将来的にはメモリマネージャとキャッシュ機能を連動させ、メモリ不足状態の時はキャッシュで使用しているメモリを解放するという使い方も想定しています。
(現在のバージョンではキャッシュしたメモリはプログラムの終了時まで解放されません)。
■パフォーマンスの改善
前回、0.56のリリースで、フィボナッチ数列の値を求めるサンプルを示しましたが、JavaScriptのコードを見つけ、IE8で実行させるとそこそこのスピードで動作しました。キャッシュ機能を使わない生のADPの数値演算の性能がJavaScriptの数値演算の性能に負けているということですが、こりゃいかんということで若干ですがパフォーマンスを改善しています。それでもまだJavaScriptの方が速いのですが、今後もぼちぼち改善していきます。