You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by seng kim khong <kh...@gmail.com> on 2006/06/15 13:59:22 UTC

To Generate Tapestry Page Class Before 1st Access

Hi All,

If I not wrong, the page class in tapestry is an abstract class and it will
be extends in run time and generate instance based on that class on the fly.
But this will let the 1st time loading of tat page become slower.

So, I would like to check out is it tapestry got provide any script to
compile (maybe I use the wrong keyword) the page class 1st before the user
request to that particular page to make it can be run faster. This concept
is like the jspc which can turn the jsp page to be servlet 1st before user
request to that paricular jsp page.

Thank you in advance for any info.

-- 
Regards,
Khong Seng Kin

Re: To Generate Tapestry Page Class Before 1st Access

Posted by Geoff Longman <gl...@gmail.com>.
hmm, I didn't know about the Portlet issues. Sounds like Portlets in
general a broken - but of course a statement like that doesn't solve
anyone's problem.

I know squat about Ptlets so I'm afraid I can't be of much help.


Geoff

On 6/15/06, John Singleton <jo...@yahoo.com> wrote:
> This initial hit isn't so much of a problem for Servlet based applications, but for Portlet applications it is, as it's per portlet, and even per portlet instance for some classes of Portlet. It's bad enough for us to have given up trying to use Tapestry for our portlet applications.
>
> John
>
> ----- Original Message ----
> From: Geoff Longman <gl...@gmail.com>
> To: Tapestry users <us...@tapestry.apache.org>
> Sent: Thursday, 15 June, 2006 3:30:50 PM
> Subject: Re: To Generate Tapestry Page Class Before 1st Access
>
> Trying to do this is a wasted effort regardless of the tool chosen to do it.
>
> I mean that even if you hit every page in the application, you are
> only injecting one instance of each page into the pool. All you buy is
> a faster response for the first access. Subsequent, concurrent, access
> of any page may cause another instance to be created and pooled. So,
> until the pool contains enough instances to serve the load, you end up
> paying the price over and over anyways.
>
> The cost is minimal, no customer of ours has ever complained about this.
>
> Geoff
>
> On 6/15/06, Bryan Lewis <br...@maine.rr.com> wrote:
> > I believe the slowness you're seeing at initial page load isn't so much
> > the class enhancement (and not the compilation, of course, since that's
> > already done); it's the parsing and initialization of the component
> > graph.  There is a way to trick Tapestry into preloading all the pages
> > on first access... check a couple of old threads here:
> > http://marc.theaimsgroup.com/?l=tapestry-user&w=2&r=1&s=preload&q=b
> >
> > But it's cumbersome and imperfect and it turns out not to be a big
> > benefit.  It makes the first access of the app a lot slower, in exchange
> > for a small speed-up on the first visit to each page. We did it that way
> > for a long time and stopped it. The one nice thing about it was the
> > syntax checking of all the pages at startup, which is handy in
> > development when you make a global change and don't want to visit all
> > the pages manually.  You could achieve the same benefit (and more) by
> > using an http tester tool (JMeter, for example) to visit all your pages.
> >
> >
> > seng kim khong wrote:
> >
> > > Hi All,
> > >
> > > If I not wrong, the page class in tapestry is an abstract class and it
> > > will
> > > be extends in run time and generate instance based on that class on
> > > the fly.
> > > But this will let the 1st time loading of tat page become slower.
> > >
> > > So, I would like to check out is it tapestry got provide any script to
> > > compile (maybe I use the wrong keyword) the page class 1st before the
> > > user
> > > request to that particular page to make it can be run faster. This
> > > concept
> > > is like the jspc which can turn the jsp page to be servlet 1st before
> > > user
> > > request to that paricular jsp page.
> > >
> > > Thank you in advance for any info.
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> The Spindle guy. http://spindle.sf.net
> Blog:                  http://jroller.com/page/glongman
> Other interests:  http://www.squidoo.com/spaceelevator/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
The Spindle guy. http://spindle.sf.net
Blog:                  http://jroller.com/page/glongman
Other interests:  http://www.squidoo.com/spaceelevator/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: To Generate Tapestry Page Class Before 1st Access

Posted by John Singleton <jo...@yahoo.com>.
This initial hit isn't so much of a problem for Servlet based applications, but for Portlet applications it is, as it's per portlet, and even per portlet instance for some classes of Portlet. It's bad enough for us to have given up trying to use Tapestry for our portlet applications.

John

----- Original Message ----
From: Geoff Longman <gl...@gmail.com>
To: Tapestry users <us...@tapestry.apache.org>
Sent: Thursday, 15 June, 2006 3:30:50 PM
Subject: Re: To Generate Tapestry Page Class Before 1st Access

Trying to do this is a wasted effort regardless of the tool chosen to do it.

I mean that even if you hit every page in the application, you are
only injecting one instance of each page into the pool. All you buy is
a faster response for the first access. Subsequent, concurrent, access
of any page may cause another instance to be created and pooled. So,
until the pool contains enough instances to serve the load, you end up
paying the price over and over anyways.

The cost is minimal, no customer of ours has ever complained about this.

Geoff

On 6/15/06, Bryan Lewis <br...@maine.rr.com> wrote:
> I believe the slowness you're seeing at initial page load isn't so much
> the class enhancement (and not the compilation, of course, since that's
> already done); it's the parsing and initialization of the component
> graph.  There is a way to trick Tapestry into preloading all the pages
> on first access... check a couple of old threads here:
> http://marc.theaimsgroup.com/?l=tapestry-user&w=2&r=1&s=preload&q=b
>
> But it's cumbersome and imperfect and it turns out not to be a big
> benefit.  It makes the first access of the app a lot slower, in exchange
> for a small speed-up on the first visit to each page. We did it that way
> for a long time and stopped it. The one nice thing about it was the
> syntax checking of all the pages at startup, which is handy in
> development when you make a global change and don't want to visit all
> the pages manually.  You could achieve the same benefit (and more) by
> using an http tester tool (JMeter, for example) to visit all your pages.
>
>
> seng kim khong wrote:
>
> > Hi All,
> >
> > If I not wrong, the page class in tapestry is an abstract class and it
> > will
> > be extends in run time and generate instance based on that class on
> > the fly.
> > But this will let the 1st time loading of tat page become slower.
> >
> > So, I would like to check out is it tapestry got provide any script to
> > compile (maybe I use the wrong keyword) the page class 1st before the
> > user
> > request to that particular page to make it can be run faster. This
> > concept
> > is like the jspc which can turn the jsp page to be servlet 1st before
> > user
> > request to that paricular jsp page.
> >
> > Thank you in advance for any info.
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
The Spindle guy. http://spindle.sf.net
Blog:                  http://jroller.com/page/glongman
Other interests:  http://www.squidoo.com/spaceelevator/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: To Generate Tapestry Page Class Before 1st Access

Posted by Geoff Longman <gl...@gmail.com>.
Trying to do this is a wasted effort regardless of the tool chosen to do it.

I mean that even if you hit every page in the application, you are
only injecting one instance of each page into the pool. All you buy is
a faster response for the first access. Subsequent, concurrent, access
of any page may cause another instance to be created and pooled. So,
until the pool contains enough instances to serve the load, you end up
paying the price over and over anyways.

The cost is minimal, no customer of ours has ever complained about this.

Geoff

On 6/15/06, Bryan Lewis <br...@maine.rr.com> wrote:
> I believe the slowness you're seeing at initial page load isn't so much
> the class enhancement (and not the compilation, of course, since that's
> already done); it's the parsing and initialization of the component
> graph.  There is a way to trick Tapestry into preloading all the pages
> on first access... check a couple of old threads here:
> http://marc.theaimsgroup.com/?l=tapestry-user&w=2&r=1&s=preload&q=b
>
> But it's cumbersome and imperfect and it turns out not to be a big
> benefit.  It makes the first access of the app a lot slower, in exchange
> for a small speed-up on the first visit to each page. We did it that way
> for a long time and stopped it. The one nice thing about it was the
> syntax checking of all the pages at startup, which is handy in
> development when you make a global change and don't want to visit all
> the pages manually.  You could achieve the same benefit (and more) by
> using an http tester tool (JMeter, for example) to visit all your pages.
>
>
> seng kim khong wrote:
>
> > Hi All,
> >
> > If I not wrong, the page class in tapestry is an abstract class and it
> > will
> > be extends in run time and generate instance based on that class on
> > the fly.
> > But this will let the 1st time loading of tat page become slower.
> >
> > So, I would like to check out is it tapestry got provide any script to
> > compile (maybe I use the wrong keyword) the page class 1st before the
> > user
> > request to that particular page to make it can be run faster. This
> > concept
> > is like the jspc which can turn the jsp page to be servlet 1st before
> > user
> > request to that paricular jsp page.
> >
> > Thank you in advance for any info.
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
The Spindle guy. http://spindle.sf.net
Blog:                  http://jroller.com/page/glongman
Other interests:  http://www.squidoo.com/spaceelevator/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: To Generate Tapestry Page Class Before 1st Access

Posted by Bryan Lewis <br...@maine.rr.com>.
I believe the slowness you're seeing at initial page load isn't so much
the class enhancement (and not the compilation, of course, since that's
already done); it's the parsing and initialization of the component
graph.  There is a way to trick Tapestry into preloading all the pages
on first access... check a couple of old threads here:
http://marc.theaimsgroup.com/?l=tapestry-user&w=2&r=1&s=preload&q=b

But it's cumbersome and imperfect and it turns out not to be a big
benefit.  It makes the first access of the app a lot slower, in exchange
for a small speed-up on the first visit to each page. We did it that way
for a long time and stopped it. The one nice thing about it was the
syntax checking of all the pages at startup, which is handy in
development when you make a global change and don't want to visit all
the pages manually.  You could achieve the same benefit (and more) by
using an http tester tool (JMeter, for example) to visit all your pages.


seng kim khong wrote:

> Hi All,
>
> If I not wrong, the page class in tapestry is an abstract class and it
> will
> be extends in run time and generate instance based on that class on
> the fly.
> But this will let the 1st time loading of tat page become slower.
>
> So, I would like to check out is it tapestry got provide any script to
> compile (maybe I use the wrong keyword) the page class 1st before the
> user
> request to that particular page to make it can be run faster. This
> concept
> is like the jspc which can turn the jsp page to be servlet 1st before
> user
> request to that paricular jsp page.
>
> Thank you in advance for any info.
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org