I am utterly baffled by this. Over the last week, I've moved my Apache, MySQL, CGI server to a new machine. Old machine = Shuttle AMD Athlon XP 3200+ (400FSB), 1024MB DDR RAM. New machine = Shuttle G2 3200B SD32G2, E6300 (2x 1.86 GHz) Intel CPU (Core2 Duo), 2 GB RAM
As hoped for, the new PC whizzes along wonderfully. All except for Rose which seems to have become much slower. I have expanded some tests to show this very clearly below. This script runs several items and the time is checked after each thing. Key points are: New machine loads PERL modules and converts my products table from Rose objects to a hash in less than half the time. So machine & PERL in general are much faster. The machine loads my products table using DBI/DBD in less than half the time. I think this shows that MySQL is OK and much faster. But the machine takes 5 X longer to load my products table using Rose. Old Machine: Starting checkpoint timer - About to start loading main modules 0.31 secs - Loaded almost all modules 0.06 secs - Loaded DBI & DBD & connected to MySQL DB 0 secs - Loaded Rose::DB & Rose::DB::Object Rose::DB - 0.723, Rose::DB::Object - 0.751, Server - "kingpin" 0.01 secs - About to start MySQL queries 0.17 secs - Old DBI/DBD method get products (only) done 0.44 secs - Rose get products (only) done 0.44 secs - Rose get products & sources done 26.34 secs - Converted product & sources objects to hashes New Machine Starting checkpoint timer - About to start loading main modules 0.09 secs - Loaded almost all modules 0.03 secs - Loaded DBI & DBD & connected to MySQL DB 0 secs - Loaded Rose::DB & Rose::DB::Object Rose::DB - 0.723, Rose::DB::Object - 0.751, Server - "bullseye" 0 secs - About to start MySQL queries 0.05 secs - Old DBI/DBD method get products (only) done 2.5 secs - Rose get products (only) done 2.38 secs - Rose get products & sources done 7.05 secs - Converted product & sources objects to hashes I realise that probably no-one can deduce what the problem is immediately and I don't know the internals of Rose to dig around in it. But can someone suggest how I can investigate further? Is it possible that I've done something nasty to MySQL that is exposed by Rose and not by DBD/DBI? (I know that cynics will immediately suspect I've cocked up PERL or MySQL or Rose somehow while installing. I must emphasise here that I installed PERL on the new machine by copying the Perl directory. So it has exactly the same modules and everything. For MySQL the old PC is on MySql 4.018 whereas I put MySQL 4.1.22 on the new PC. But I don't think this is any issue as the new MySQL is much faster for a straightforward DBI/DBD query. Also, I know that I'm not on the latest version of Rose but I wanted to keep both machines on the same version to avoid suspicion that different versions of Rose are having some effect.) I just can't imagine what's going on here. Thanks for any pointers, James Masters. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Rose-db-object mailing list Rose-db-object@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rose-db-object