On Thu, Feb 03, 2005 at 10:18:43AM +0000, Tim Bunce wrote :
> On Thu, Feb 03, 2005 at 06:27:05PM +0900, [EMAIL PROTECTED] wrote:
> > Dear list,
> > 
> >     I wrote a simple CGI script using DBD::CSV on a linux
> > computer, and then installed it on a iMac G5. Its execution time is
> > now alomst 10 times slower. Using print instructions, I traced the
> > bottleneck to the following instruction :
> > 
> > $sth->execute;
> > 
> >     Now I am a bit stuck, as I do not know how to investigate in
> > the DBD::CSV module to find where is the slow isnstruction.
> 
> The Devel::DProf module (and/or other code profiling modules) may help.
> 

Thank you for pointing this module. I have used it to analyse my script :

Total Elapsed Time = 63.19465 Seconds
  User+System Time = 43.46465 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
 66.5   28.91 36.463 109445   0.0003 0.0003  SQL::Statement::eval_where
 11.1   4.848  6.132 109447   0.0000 0.0001  Text::CSV_XS::getline
 7.96   3.458  3.458 218890   0.0000 0.0000  SQL::Statement::get_row_value
 6.90   2.998  9.129 109447   0.0000 0.0001  DBD::CSV::Table::fetch_row
 5.80   2.520  7.545 109445   0.0000 0.0001  SQL::Statement::process_predicate
 4.36   1.894  1.894 109445   0.0000 0.0000  SQL::Statement::is_matched
 2.95   1.284  1.284 109447   0.0000 0.0000  IO::Handle::getline
 2.29   0.997 46.596      1   0.9965 46.595  SQL::Statement::SELECT
 0.16   0.069  0.076     27   0.0026 0.0028  CGI::_compile
 0.16   0.068  0.123      4   0.0170 0.0307  main::BEGIN
 0.09   0.040  0.079      4   0.0099 0.0198  DBI::SQL::Nano::BEGIN
 0.09   0.040  0.039      7   0.0057 0.0056  SQL::Statement::BEGIN
 0.07   0.029  0.164      1   0.0295 0.1645  DBI::install_driver
 0.02   0.010  0.010      1   0.0100 0.0100  Fcntl::bootstrap
 0.02   0.010  0.010      1   0.0100 0.0100  SQL::Parser::dialect


        It seems that there is no bottleneck. I have ran the script on
a 3GHz linux box, and it took it 19 seconds to complete. So I do not
understand how I mananaged to run it in 7 seconds on a 1.8 GHz Athlon
laptop (which unfortunately I do not own anymore).

        As somebody kindly pointed me out that hardware differences
could have a strong impact on the results, I will suppose that this is
the reason why I have seen such speed inconsistencies, unless somebody
found something insightful in the dprofpp output extract in this mail.

Thanks to those who answered me and offered their help.

-- 
Charles

Reply via email to