Matthew Weier O'Phinney wrote:
> -- Bruno Friedmann <[EMAIL PROTECTED]> wrote
> (on Tuesday, 21 October 2008, 06:56 AM +0200):
>> Matthew Weier O'Phinney wrote:
>>> -- Bruno Friedmann <[EMAIL PROTECTED]> wrote
>>> (on Monday, 20 October 2008, 07:00 AM +0200):
>>>> Matthew Weier O'Phinney wrote:
>>>>> -- Bruno Friedmann <[EMAIL PROTECTED]> wrote
>>>>> (on Sunday, 19 October 2008, 07:30 PM +0200):
>>>>>> With the help of ZendStudio, I'm trying to understand why on one
>>>>>> application I've got 25/30 req/s and on the second one I've only a
>>>>>> 5/5.50 req (1.6.2) or a 7/8.2rqs ( 1.7.0 notice the little change )
>>>>>> ( a simple html file is giving a 385rqs and a 404 error page give around 
>>>>>> a 280/320rqs )
>>>>>>
>>>>>> The profile result give me a 59% time consume by Layout ( which I
>>>>>> doesn't have on the speed app ) and another 12.5% to Translate
>>>>>> ( ok I'm using tmx which is not the most speedy thing )
>>>>> You can save me a little time and effort here by attaching the layout
>>>>> script you use, as well as a count of the number of times calls are made
>>>>> to translate items. With that information, I can add some information to
>>>>> our performance and profiling test suite.
>>>>>
>>>> Quickly I'm calling the index controlleur / index view with layout.
>>>> html/index.php
>>>> -> ZFApplication ( which is the real bootstrap )
>>>> -> app/Module/Default
>>>> -> /Controller/indexController     
>>>>    -> Action indexAction
>>>> -> Scripts/index/index.phtml
>>>>    
>>>> Layout contain
>>>> |-- common
>>>> |   |-- footer.phtml
>>>> |   |-- header.phtml
>>>> |   |-- help.phtml
>>>> |   `-- menu.phtml
>>>> `-- main.phtml
>>>>
>>>> For the index view there's a test
>>>> if ( !Zend_Auth::getInstance()-> hasIdentity() ):
>>>>     // Render login form or logged
>>>>     echo $this-> action(null, 'login');
>>>>    // If we are anonymous
>>>>
>>>> ----------------------------------------------
>>>> For translation I've a global function __($str) which translate strings.
>>>>
>>>> For the whole projet there's a 945 call to it.
>>>>
>>>> For the index call profiled it's about 24 calls.
>>> The above may very well be the culprit, but I'll write a test just to
>>> see.
>>>
>>> Can you give the contents of your layout files? I'm curious to see how
>>> you're pulling in content -- if you're using partial(), action(), or
>>> simply render(). I've already identified a bottleneck in partial() that
>>> I'll be working on. Additionally, I typically recommend against action()
>>> because I know already that internally it's expensive; it's cheaper to
>>> create a helper that pulls from the model directly.
>>>
>> If what you say is correct, I'm in trouble :-)
>>
>> You will see why in the source attached ...
>>
>> So I'm waiting your confirmation, and eventually other recommandations.
>> There's some refactoring/rewritting in the air tonight :-)
> 
> The only reason to use partial() instead of render() is when you
> absolutely need a clean variable scope for the rendered view script. In
> your case, I'd recommend simply substituting render() for each time you
> use partial(); this will definitely improve speed.
> 

Ok this remark make sense ... I think it should find it's place as remark in 
docs.

> I see you're using action() to pull in a login form. Since you won't be
> worried about pre-populated values or validation, it may make more sense
> here to either instantiate the form object directly and display it, or
> create a view helper that does this. 

To be honest, I'm actually in a process to limits the number of view helper to 
a quantic's number.
I feel I'm on the wrong way. Too strict perhaps in the logic approach
There a login controller in which the login form & logic reside so I'm calling 
it because layout permit this,
leaving all login to it's own controller/model/form/view system.


> 
> See if the above changes help your performance. If not, the next thing
> I'd suggest trying to move to gettext for your translations to see if
> that speeds things up. If so, you may be able to develop using TMX, and
> write a build script that converts to gettext later.
> 
I will give them a try on Thursday and Friday and keep you inform of the result.

In your Guru's opinion, shall I try the svn version of 1.7 or could I stay with 
the PR release ?

Thanks all for you great advise, help each of us making php/ZF better and 
better, also in developer mind and how to approach &
realize great things with.

-- 

     Bruno Friedmann

Ioda-Net Sàrl
  2830 Vellerat - Switzerland


Reply via email to