Love Fuel?    Donate

FuelPHP Forums

Ask your question about FuelPHP in the appropriate forum, or help others by answering their questions.
What happens between Fuel\Core\Request::execute End and End of Fuel Execution?
  • I'm troubleshooting a performance issue on one particular page. From checking the profiler:

    Fuel\Core\Request::execute End 1.112 s
    End of Fuel Execution 10.699 s

    I've located the code that marks both those points in the profiler. They're both in fuel/core/classes.fuelphp. I added a mark at the beginning of the finish() method, and it also reads 10.699s. I'm going to dig further, but I was just wondering if there was anything in particular that happens between these two marks that is likely the cause of the delay.
  • HarroHarro
    Accepted Answer
    finish() is called by the shutdown event, which is triggered after everything has been processed.

    The request is executed in your index.php, line 49 (in 1.7). Everything between that line and the end of your index.php is executed between "execute end" en "finish". Which in the default index.php is only rendering the response.

    So the first port of call would be your template and views.

    The profiler takes up quite a bit of time too, especially of you have DB profiling enabled, because it will run EXPLAIN queries on all your queries. But as that happens in finish(), it's not part of your 10 seconds.

    You could run xdebug profiling, using cachegrind or webgrind, so see exactly where and in which methods you loose your time...

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion