cakephp1.3を使っているとよくレスポンスタイムおそいなーと思う事は多々あると思います。
まあ機能が豊富な分遅いのはしかたないです。
まあロジックが複雑になればController actionやRender Controller Actionも重くなりますが、やっぱCore ProcessingがおもいなーとDebugKitでみると気になります。。
なんとかもっと早くしたいなーとかおもってモヤモヤしていました。
んで、たまたまController::loadModel()メソッドの中を見てた時に以下の部分の処理が目にとまりました。
|
|
なんかあやしいなーとおもって_persistメソッドをみてたら、あらびっくり。
モデルのインスタンスキャッシュしてるじゃありませんか!
これは使えると思い、早速appControllerのなかでpersistModelをtrueにしてみました。
ざっと100msぐらい早くなっていますね。まあMacBookPro上で実行しているんでそもそも遅いのですが・・・
persistModel = false
persistModel = true
どうやらModelのインスタンスを生成したものをserializeして保存しているぽいです。
ディスクI/Oどうなのよとか思うけど、まああんまり気にしなくてもいいんじゃないとも思います。
その辺はだれか教えて頂けるとたすかりますw
ちなみに、cache関数が使われているのが気になりましたが、あまり突っ込まない方向で・・・w