tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Howard Lewis Ship <hls...@gmail.com>
Subject Re: Speed up page compiling
Date Wed, 09 Jan 2013 18:49:00 GMT
Interesting results, I hope to carve out some time to optimize that code in
some way. Perhaps some kind of development only cache that could remove
some of the overhead of analyzing parameter types and usage.

On Wednesday, January 9, 2013, Michael Wyraz wrote:

> Hi,
>
> I had a closer look to the problem (reported by some of our developers):
> There are a few really big pages. Formerly these where separate pages but
> since we changed everything to ajax navigation, these pages are
> consolidated to one page. I tested everything on a machine that runs the
> workspace on a hardware raid on SSDs where IO performance should not be the
> problem at all. After starting the webapp, the first load of this page
> takes ~30 seconds. I changed tapestrys log level to "ALL" and restarted -
> the page load took >4 minutes and printed several 100.000 log lines. Most
> log lines (and probably most time) is in ParameterWorker. It takes about
> 90% of the component assembling time. Subsequent reloads take just a few
> milliseconds. After modifying the page, reload takes again >4 minutes with
> full debug.
> Most time is spend in ParameterWorker (logs from line 319, 329 and 340).
> Another place which takes lot time is Registry (logs from line 67 and 81).
>
> Since the code in ParameterWorker is called some 100.000 or millions
> times, speedup there would bring a big performance plus.
>
> But maybe there are other ways to improve performance?
>
>  There are also a couple of performance tips at the very bottom of
>> http://tapestry.apache.org/**class-reloading.html<http://tapestry.apache.org/class-reloading.html>
>>
>> On Mon, Jan 7, 2013 at 10:33 AM, Thiago H de Paula Figueiredo
>> <thiagohp@gmail.com> wrote:
>>
>>> On Mon, 07 Jan 2013 12:29:37 -0200, Michael Wyraz
>>> <michael.wyraz@evermind.de> wrote:
>>>
>>>  Hi,
>>>>
>>>
>>> Hi!
>>>
>>>
>>>  we have a big project with Tapestry 5.3. There are many pages, lots of
>>>> components and many links between the pages (@Injects of other pages).
>>>> The problem is that after a change, the first page reload takes >5
>>>> seconds
>>>> on good hardware because there is much work for the tapestry page
>>>> compiler
>>>> which wastes much time of our developers.
>>>>
>>>
>>> There isn't a Tapestry page compiler, just a template parser and some
>>> internal code that creates the page instances. There's no language
>>> transformation, so, for me, it isn't compiling at all.
>>>
>>> The first thing I think you should do is to do some profiling and check
>>> whether these 5+ seconds are really all spent in Tapestry internals or if
>>> there's some application-specific processing going on (method calls,
>>> database queries, etc).
>>>
>>> --
>>> Thiago H. de Paula Figueiredo
>>>
>>>
>>> ------------------------------**------------------------------**
>>> ---------
>>> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: dev-help@tapestry.apache.org
>>>
>>>  ------------------------------**------------------------------**
>> ---------
>> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: dev-help@tapestry.apache.org
>>
>>
>
> --
> Mit freundlichen Grüßen / Regards
>
> Michael Wyraz
>
> evermind GmbH
> Schorlemmerstraße 1
> 04155 Leipzig
>
> Tel.:       +49 (0)341-25 39 66 - 0
> Fax:        +49 (0)341-25 39 66 - 1
> Funk:       +49 (0)177-73 00 00 3
> E-Mail:     michael.wyraz@evermind.de
>
> HRB: 21586
> Amtsgericht Leipzig
>
> Geschäftsführer:
> Christoph Klemm
> Thomas Grünert
> Michael Wyraz
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: dev-help@tapestry.apache.org
>
>

-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message