Daniel Fagerstrom wrote:

If the null check for value at line 79 in Set is changed to a null test for this.value we get the behaviour that we should have IMO.

I would assume that the various jx:set for helper methods that has the return type void eavluates to null, and invokes the body evaluation. It is still strange that doing nothing should take so long time.

Could you test the proposed change and post new profiling data?

here we go, same example again:

                        complete       jxt
cFormsTransformer         170 ms       n/a
jx_macro_before           350 ms    250 ms
jx_macro_after*           190 ms    110 ms

* implementing the change proposed by Daniel

details can found here:
http://people.apache.org/~reinhard/jx_profiling/jx_macro_nostyle_after_change_template_packages.html
http://people.apache.org/~reinhard/jx_profiling/jx_macro_nostyle_before_change_template_packages.html


here the JMeter comparison using the test in /trunk/tools/jmeter/CocoonForms_JXTemplate.jmx (10 parallel threads):


form1 - JXTemplate
******************

url                    count  average  min      max     error    rate
-------------------------------------------------------------------------
Load form                10     107     30      280     0,00%   11,2/sec
Enter Email-Adress (1)  500     114     20      541     0,00%   4,6/sec
Enter Email-Adress (2)  500     111     20      530     0,00%   4,6/sec
Start Over Request      500     122     20      541     0,00%   4,5/sec
TOTAL                  1510     116     20      541     0,00%   13,6/sec

form1 - FormsTransformer
************************

url                    count  average  min      max     error    rate
-------------------------------------------------------------------------
Load form               10      55      50      80      0,00%   10,5/sec
Enter Email-Adress (1)  500     156     20      651     0,00%   4,5/sec
Enter Email-Adress (2)  500     147     20      641     0,00%   4,5/sec
Start Over Request      500     136     20      621     0,00%   4,6/sec
TOTAL                   1510    145     20      651     0,00%   13,4/sec

I can't explain why, but these two tests show that jx-macro is faster than the transformer now, wow!

--
Reinhard Pötz           Independent Consultant, Trainer & (IT)-Coach

{Software Engineering, Open Source, Web Applications, Apache Cocoon}

                                       web(log): http://www.poetz.cc
--------------------------------------------------------------------





Reply via email to