Tips

キャッシュを増やすと遅くなる?

日付2009/05/29
ID09-049
バージョン11
プラットフォームWin, Mac

4Dのキャッシュは、データを効率よく検索したり利用したりする為のもので、キャッシュサイズを大きくすると動作を速くすることができます。しかし、キャッシュサイズを大きくしすぎると、検索にかかる時間が極端に増えることがあります。

4Dのメモリ空間には限りがあり、その限られた空間にキャッシュの他にプログラムや変数もロードされます。4Dのメモリ空間の最大サイズは、スタンドアローンの4D v11 SQLで2GB、4D Server v11 SQLで4GB(プラットフォームによっては2GB)です。もしこの空間のほとんどをキャッシュで占められてしまうと、仮にプログラムがロードできても変数領域が取れなくなります。そのようなとき4Dは変数領域を確保するために、キャッシュを減らそうとしますが、その為に処理速度が極端に遅くなるのです。

的確なキャッシュサイズは、プログラムの内容によって異なるので一概にどのくらいが適切かを述べることはできません。また計算で決めるのも、4Dの場合現実的ではないと考えます。少ないキャッシュサイズで運用して、少しずつ大きくして検証してください。処理速度がピークとなるキャッシュサイズよりも、小さく設定して運用するのがポイントです。