I'm really happy to see this issue being addressed, but it is
important to remember, framework performance wasn't (isn't?) a primary
goal for WebWork 2, and now Struts 2.  Specific decisions were made to
favor developer productivity and flexibility over performance such as
a template engine-based, theme-capable tag rendering and rich
expression language usage throughout.

Still, it is possible to do things like reimplement the tags using a
pure Java template engine, which gives 2-3x performance gains, but in
the end, you are left with very inflexible tags that are a pain to
extend and customize.  Of course, if you just use the simple theme,
then this idea might still be attractive.

Finally, it is worth repeating that in a typical web application, the
framework should be such a small part of processing, but if it is not,
those are the types of issues I'd like to really address.

Don

On 7/13/07, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
Well, here's exactly why I hate benchmarking: it's never consistent! :)

This time, everything compiled with JDK 1.6 (it's what I have installed
along side 1.4.2) and all used 5000 samples (updated test plan to always
do 5000 samples)...

S1:
685 average, 142.3/sec throughput, 20.89 KB/sec

So, an improvement there, maybe because of the JDK, maybe not.

S2 w/OGNL 2.6:
1054 average, 87.3/sec throughput, 12.87 KB/sec

That's better than the last run, but for no apparent reason!

S2 W/OGNL 2.7:
1073 average, 85.8/sec throughput, 12.65 KB/sec

Wuh?!?  Ok, I think we can most likely dismiss the difference as within
a statistical margin of difference, which means either (a) these tests
are just flat-out flawed somehow, (b) the OGNL bump, at least as far as
just a straight drop-in, makes no real difference, or (c) OGNL isn't
being used to enough of an extent in this test to notice a difference
(I'm frankly betting on that one).

FYI, I've created JIRA ticket WW-2040... that way if others want to
extend the apps, they can attach an updated version to the ticket so
everyone can share.

Frank

cilquirm wrote:
> Frank, would you care to give the same tests a shot with  ognl 2.7 and
> javassist in the mix.
>
> Although none of this is purely scientific, at least evaluations on that
> regard give us some level of subjective information.
>
> The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs
> download :
>
> http://tapestry.apache.org/download.html
>
>
>
>
>
> Frank W. Zammetti wrote:
>> Dunno if this might help, but:
>>
>> http://www.omnytex.com/struts_benchmarking.zip
>>
>> In it you'll find two applications, one for S1 (1.3.8) and one for S2
>> (2.0.8)... they are both (I think!) pretty much equivalent, and about as
>> simplistic as you can get.  Also included is a JMeter test plan to run
>> against them (just disable one or the other thread group, wouldn't want
>> to test them both at the same time!).
>>
>> Just ran a quick-and-dirty comparison of the two using the test plan...
>> I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
>> one difference is that the S1 version was compiled with JDK 1.4.2, and
>> the S2 version with 1.6.0, so there's at least one potentially big
>> variance right up front... here's what I saw:
>>
>> S1 results:
>> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
>>
>> S2 results:
>> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
>>
>> I'm not claiming this to be the perfect test, nor do I believe there's
>> not some flaws in there (benchmarking is always a tough thing to get
>> quite right, especially trying to do a comparison like this)... but,
>> unless someone can point out some obvious mistakes I made, the numbers
>> don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
>> as slow as S1.
>>
>> I'm not trying to make any sensational claims here, and again, I may
>> have totally blown it in the first place (I did throw this together in
>> about 30 minutes after all), but if we can use this as a basis going
>> forward, maybe build it up as a more expansive, realistic and solid
>> benchmarking suite, then it's all good in the end.
>>
>> Anyway, it's there, if anyone's interested.
>>
>> Frank
>>
>> --
>> Frank W. Zammetti
>> Founder and Chief Software Architect
>> Omnytex Technologies
>> http://www.omnytex.com
>> AIM/Yahoo: fzammetti
>> MSN: [EMAIL PROTECTED]
>> Author of "Practical Ajax Projects With Java Technology"
>>   (2006, Apress, ISBN 1-59059-695-1)
>> and "JavaScript, DOM Scripting and Ajax Projects"
>>   (2007, Apress, ISBN 1-59059-816-4)
>> Java Web Parts - http://javawebparts.sourceforge.net
>>   Supplying the wheel, so you don't have to reinvent it!
>>
>> Ing. Andrea Vettori wrote:
>>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>>>
>>>> 2007/7/12, Ing. Andrea Vettori <[EMAIL PROTECTED]>:
>>>>> Compared to nothing... they are pure numbers. They are simply just
>>>>> good enought (to me).
>>>>>
>>>>> If we don't have this in mind we should use assember for everything :)
>>>> what I meant was: maybe it could be a good idea to redevelop your
>>>> screens with, say struts 1 for example, and compare the results
>>> mmmm I can't do that... simply don't have the time... :)
>>>
>>>
>>>>> In the high load test, after 10 seconds you have about 90 users (the
>>>>> other 10 should have finished). Having a response time of 2,5 seconds
>>>>> for a db search and result display under such load seems very good to
>>>>> me.
>>>>>
>>>>> Don't you ?
>>>> it depends :-)
>>>>
>>>> "2.5s" doesn't say much to me, I would need to know how much time is
>>>> consumed in your DB requests, how much time is consumed in your
>>>> service layer, etc etc.
>>>>
>>>> Is it 90 users really active at the same time, meaning using 90
>>>> threads on the server?if it is, do you have at least 90 connections in
>>>> your pool?
>>>> or did you put think times in your tests?
>>>
>>>
>>> No think time...
>>>
>>> I have 250 threads but I have a limit of 50 connections on my pool. I'll
>>> try to raise
>>> the number of maximum connection to see if the MP3 list test gets better.
>>>
>>> However I think that struts alone is performing well for my app; don't
>>> know if it's because
>>> i'm using only few OGNL expressions on my jsp pages.
>>>
>>> --
>>> Ing. Andrea Vettori
>>> Consulente per l'Information Technology
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>>
>>> --No virus found in this incoming message.
>>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: [EMAIL PROTECTED]
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to