Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Profiling Titanium

by perrin (Chancellor)
on Aug 25, 2009 at 16:06 UTC ( #791123=note: print w/ replies, xml ) Need Help??


in reply to Profiling Titanium

Here are my thoughts:

  • Stop using Devel::DProf. It has been replaced by Devel::NYTProf. You'll get much better information.
  • Run your page requests 10-100 times in one profiling session, or wait to enable the profiler until after the first request. If you don't, the setup time will swallow everything else.
  • Profile a real application, or at least something with a database request in it. If you profile a "hello world" app you'll wind up spending hours working on things that increase performance by 0.1%.
  • I think it would be a mistake to use HTML::Template::Pro. Its only real speed advantage is when running as CGI, and if you care about performance, you should be using mod_perl or FastCGI. There are faster templating tools than HTML::Template, but I've never seen it be the bottleneck in any real application.


Comment on Re: Profiling Titanium
Replies are listed 'Best First'.
Re^2: Profiling Titanium
by SilasTheMonk (Chaplain) on Aug 25, 2009 at 16:29 UTC
    * Stop using Devel::DProf. It has been replaced by Devel::NYTProf. You'll get much better information. * Run your page requests 10-100 times in one profiling session, or wait to enable the profiler until after the first request. If you don't, the setup time will swallow everything else. * Profile a real application, or at least something with a database request in it. If you profile a "hello world" app you'll wind up spending hours working on things that increase performance by 0.1%. * I think it would be a mistake to use HTML::Template::Pro. Its only real speed advantage is when running as CGI, and if you care about performance, you should be using mod_perl or FastCGI. There are faster templating tools than HTML::Template, but I've never seen it be the bottleneck in any real application.
    Actually I would say security is a slightly higher concern than performance. For the forseeable fortune this is likely to be a VPS running a lot of sadly obscure websites. As such I am not using fastcgi or mod_perl but rather suExec. As such the module load startup is significant. I think that also shows why I stop using Titanium until I am using all the modules it loads. Still there is no reason to completely ignore performance or deny speed ups where available. Also the script does have a database backend though I will keeping rerunning the profile as it gets bigger. I am not laying to much by this experiment but it seems I have to agree about HTML::Template::Pro its contribution to the speed up was quite small.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://791123]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2015-07-28 03:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (251 votes), past polls