|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hi,
I am facing a strange problem. My site, even tough designed to appear quickly at user's browser, appears at "once". If I test the static HTML version it starts to appear as downloaded If I test the php generated version the page seems render as a whole. I am using smarty as a template and it seems to be related to a buffer somewhere: php/smarty or apache. I've used microtime and from the begin of the php script until after the smarty->display it takes from 0.05s (min) to 0.32s (max) Any tips of how can I figure out what is "slowing" down my site? tks |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Smarty buffers all the output until you do a $smarty->display or you echo
the fetched output through $smarty->fetch. That's why it appears to be drawn at once. One thing you can do it's to slice the page into three or four objects that can be rendered incrementally (you render the header and display it, then go for the body, footer, etc..) -- Vicente Werner y Sánchez |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On Mon, Jan 23, 2006 at 05:39:57AM -0400, robert mena wrote:
> Hi, > > I am facing a strange problem. My site, even tough designed to appear > quickly at user's browser, appears at "once". If I test the static HTML > version it starts to appear as downloaded If I test the php generated > version the page seems render as a whole. > > I am using smarty as a template and it seems to be related to a buffer > somewhere: php/smarty or apache. > > I've used microtime and from the begin of the php script until after the > smarty->display it takes from 0.05s (min) to 0.32s (max) > > Any tips of how can I figure out what is "slowing" down my site? first read: http://php.net/outcontrol > tks |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
On Mon, Jan 23, 2006 at 10:53:04AM +0100, Vicente Werner wrote:
> Smarty buffers all the output until you do a $smarty->display or you echo > the fetched output through $smarty->fetch. That's why it appears to be drawn > at once. wrong. smarty doesn't buffer anything with display(). > One thing you can do it's to slice the page into three or four objects that > can be rendered incrementally (you render the header and display it, then go > for the body, footer, etc..) > > -- > Vicente Werner y Sánchez |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Hi Vicente,
Thanks for the reply. I suppose you mean having separate tpls for the segments of the page and calling smarty->display several times for each tpl? Is there any other way such as a flag in smarty to disable this buffer? I am assuming that smarty does ob_start at the beginning of the execution. tks, On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > Smarty buffers all the output until you do a $smarty->display or you echo > the fetched output through $smarty->fetch. That's why it appears to be > drawn > at once. > One thing you can do it's to slice the page into three or four objects > that > can be rendered incrementally (you render the header and display it, then > go > for the body, footer, etc..) > > -- > Vicente Werner y Sánchez > |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Mon, Jan 23, 2006 at 06:13:35AM -0400, robert mena wrote:
> Hi Vicente, > > Thanks for the reply. > > I suppose you mean having separate tpls for the segments of the page and > calling smarty->display several times for each tpl? no. just turn off output-buffering in php (see my other post). > Is there any other way such as a flag in smarty to disable this buffer? I > am assuming that smarty does ob_start at the beginning of the execution. no, it doesn't. (see my other post). > tks, > > > On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > > > Smarty buffers all the output until you do a $smarty->display or you echo > > the fetched output through $smarty->fetch. That's why it appears to be > > drawn > > at once. > > One thing you can do it's to slice the page into three or four objects > > that > > can be rendered incrementally (you render the header and display it, then > > go > > for the body, footer, etc..) > > > > -- > > Vicente Werner y Sánchez > > |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
I stand corrected that smarty per se dosn't buffer.
I understand though that he's facing the problem that he put everything inside a template so until he does a fetch or display, he dosn't get any output. Thus the best way to get somewhat of incremental rendering is to partition the full template into some subtemplates that render incrementally. You can see something like that at www.dinahosting.com (uses smarty) that does full use of hierarchical rendering with some parts being incrementally rendered On 23/01/06, messju mohr <messju@lammfellpuschen.de> wrote: > > On Mon, Jan 23, 2006 at 06:13:35AM -0400, robert mena wrote: > > Hi Vicente, > > > > Thanks for the reply. > > > > I suppose you mean having separate tpls for the segments of the page and > > calling smarty->display several times for each tpl? > > no. just turn off output-buffering in php (see my other post). > > > Is there any other way such as a flag in smarty to disable this > buffer? I > > am assuming that smarty does ob_start at the beginning of the execution. > > no, it doesn't. (see my other post). > > > tks, > > > > > > On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > > > > > Smarty buffers all the output until you do a $smarty->display or you > echo > > > the fetched output through $smarty->fetch. That's why it appears to be > > > drawn > > > at once. > > > One thing you can do it's to slice the page into three or four objects > > > that > > > can be rendered incrementally (you render the header and display it, > then > > > go > > > for the body, footer, etc..) > > > > > > -- > > > Vicente Werner y Sánchez > > > > > -- > Smarty General Mailing List (http://smarty.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Vicente Werner y Sánchez |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Hi Messju,
I've read already. Here are my settings: implicit_flush Off output_buffering *no value* output_handler *no value* On 1/23/06, messju mohr <messju@lammfellpuschen.de> wrote: > > On Mon, Jan 23, 2006 at 05:39:57AM -0400, robert mena wrote: > > Hi, > > > > I am facing a strange problem. My site, even tough designed to appear > > quickly at user's browser, appears at "once". If I test the static HTML > > version it starts to appear as downloaded If I test the php generated > > version the page seems render as a whole. > > > > I am using smarty as a template and it seems to be related to a buffer > > somewhere: php/smarty or apache. > > > > I've used microtime and from the begin of the php script until after the > > smarty->display it takes from 0.05s (min) to 0.32s (max) > > > > Any tips of how can I figure out what is "slowing" down my site? > > first read: http://php.net/outcontrol > > > tks > |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
Hi vicente,
Are you responsible for this dinahosting.com? Do you call those subtemplates with multiple $s->display calls? On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > I stand corrected that smarty per se dosn't buffer. > > I understand though that he's facing the problem that he put everything > inside a template so until he does a fetch or display, he dosn't get any > output. Thus the best way to get somewhat of incremental rendering is to > partition the full template into some subtemplates that render > incrementally. You can see something like that at www.dinahosting.com(uses > smarty) that does full use of hierarchical rendering with some parts being > incrementally rendered > > On 23/01/06, messju mohr <messju@lammfellpuschen.de> wrote: > > > > On Mon, Jan 23, 2006 at 06:13:35AM -0400, robert mena wrote: > > > Hi Vicente, > > > > > > Thanks for the reply. > > > > > > I suppose you mean having separate tpls for the segments of the page > and > > > calling smarty->display several times for each tpl? > > > > no. just turn off output-buffering in php (see my other post). > > > > > Is there any other way such as a flag in smarty to disable this > > buffer? I > > > am assuming that smarty does ob_start at the beginning of the > execution. > > > > no, it doesn't. (see my other post). > > > > > tks, > > > > > > > > > On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > > > > > > > Smarty buffers all the output until you do a $smarty->display or you > > echo > > > > the fetched output through $smarty->fetch. That's why it appears to > be > > > > drawn > > > > at once. > > > > One thing you can do it's to slice the page into three or four > objects > > > > that > > > > can be rendered incrementally (you render the header and display it, > > then > > > > go > > > > for the body, footer, etc..) > > > > > > > > -- > > > > Vicente Werner y Sánchez > > > > > > > > -- > > Smarty General Mailing List (http://smarty.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > -- > Vicente Werner y Sánchez > |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
I did about 85% of the coding of it including all the template related
stuff, I'm no longer at dinahosting.com so I don't do the maintenance. No, most of the times, I store the template results through ->fetch calls, to build the final render or echo them at convenience. The renderer it's more like a GUI renderer in architecture than a webapp, since an objective was to halve code size and simplify design, so it has become truly component oriented. On 23/01/06, robert mena <robert.mena@gmail.com> wrote: > > Hi vicente, > > Are you responsible for this dinahosting.com? Do you call those > subtemplates with multiple $s->display calls? > > > On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > > > I stand corrected that smarty per se dosn't buffer. > > > > I understand though that he's facing the problem that he put everything > > inside a template so until he does a fetch or display, he dosn't get any > > output. Thus the best way to get somewhat of incremental rendering is to > > partition the full template into some subtemplates that render > > incrementally. You can see something like that at www.dinahosting.com(uses > > smarty) that does full use of hierarchical rendering with some parts > > being > > incrementally rendered > > > > On 23/01/06, messju mohr <messju@lammfellpuschen.de> wrote: > > > > > > On Mon, Jan 23, 2006 at 06:13:35AM -0400, robert mena wrote: > > > > Hi Vicente, > > > > > > > > Thanks for the reply. > > > > > > > > I suppose you mean having separate tpls for the segments of the page > > and > > > > calling smarty->display several times for each tpl? > > > > > > no. just turn off output-buffering in php (see my other post). > > > > > > > Is there any other way such as a flag in smarty to disable this > > > buffer? I > > > > am assuming that smarty does ob_start at the beginning of the > > execution. > > > > > > no, it doesn't. (see my other post). > > > > > > > tks, > > > > > > > > > > > > On 1/23/06, Vicente Werner <vwerner@gmail.com> wrote: > > > > > > > > > > Smarty buffers all the output until you do a $smarty->display or > > you > > > echo > > > > > the fetched output through $smarty->fetch. That's why it appears > > to be > > > > > drawn > > > > > at once. > > > > > One thing you can do it's to slice the page into three or four > > objects > > > > > that > > > > > can be rendered incrementally (you render the header and display > > it, > > > then > > > > > go > > > > > for the body, footer, etc..) > > > > > > > > > > -- > > > > > Vicente Werner y Sánchez > > > > > > > > > > > -- > > > Smarty General Mailing List ( http://smarty.php.net/) > > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > > > > > -- > > Vicente Werner y Sánchez > > > > -- Vicente Werner y Sánchez |
|
![]() |
| Outils de la discussion | |
|
|