Vadim Gritsenko wrote:
Reinhard Poetz wrote:

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



You can't really derive any conclusions from single invocation. Collect profiling data over several minutes, results will be more reliable. Especially since time granularity is often ~ 10ms.

And (don't know what your setup is ...) you can group together time taken by org.apache.xalan package - no need to collect CPU data on those...

ok


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!


Can you re-test with latest template transformer - just to confirm that it did not got much slower after refactoring.

it's done with the refactored version (rev170868)


--
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