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

Reply via email to