[Dbix-class] C3 branch is just a tad faster too
Matt S Trout
dbix-class at trout.me.uk
Sun Nov 20 05:13:26 CET 2005
(using the Rose::DB::Object bench.pl)
Too late to run INIT block at /usr/pkg/lib/perl5/site_perl/5.8.0/Class/C3.pm line 52.
The following comparison modules were found:
Class::DBI
Class::DBI::Sweet
DBI
DBIx::Class
Which ones would you like to compare with?
Compare with (Class::DBI, Class::DBI::Sweet, DBIx::Class):
The following databases are configured:
MySQL
Which one would you like to use?
Use database (MySQL):
##
## Benchmark against Class::DBI, Class::DBI::Sweet, DBIx::Class using MySQL
##
# Simple: insert 1
Rate CDBS CDBI DBIC RDBO
CDBS 330/s -- -1% -34% -57%
CDBI 333/s 1% -- -33% -57%
DBIC 500/s 51% 50% -- -36%
RDBO 775/s 135% 133% 55% --
# Complex: insert 1
Rate CDBS CDBI DBIC RDBO
CDBS 333/s -- -1% -36% -55%
CDBI 336/s 1% -- -36% -55%
DBIC 524/s 57% 56% -- -30%
RDBO 746/s 124% 122% 43% --
# Simple: insert 2
Rate CDBI CDBS DBIC RDBO
CDBI 187/s -- -1% -43% -70%
CDBS 189/s 1% -- -42% -69%
DBIC 328/s 76% 74% -- -47%
RDBO 613/s 229% 225% 87% --
# Complex: insert 2
Rate CDBS CDBI RDBO DBIC
CDBS 205/s -- -2% -13% -45%
CDBI 209/s 2% -- -12% -44%
RDBO 236/s 15% 13% -- -36%
DBIC 370/s 81% 77% 57% --
# Simple: accessor 1
s/iter CDBI CDBS DBIC RDBO
CDBI 1.99 -- -0% -70% -92%
CDBS 1.98 0% -- -70% -92%
DBIC 0.600 232% 231% -- -73%
RDBO 0.162 1131% 1127% 271% --
# Complex: accessor 1
s/iter CDBS CDBI DBIC RDBO
CDBS 2.00 -- -1% -71% -91%
CDBI 1.98 1% -- -70% -91%
DBIC 0.588 240% 236% -- -71%
RDBO 0.173 1056% 1043% 240% --
# Simple: accessor 2
s/iter CDBI CDBS DBIC RDBO
CDBI 8.89 -- -0% -72% -94%
CDBS 8.86 0% -- -72% -94%
DBIC 2.50 255% 254% -- -79%
RDBO 0.516 1623% 1617% 385% --
# Complex: accessor 2
s/iter CDBS CDBI DBIC RDBO
CDBS 8.90 -- -0% -70% -88%
CDBI 8.90 0% -- -70% -88%
DBIC 2.69 231% 231% -- -62%
RDBO 1.03 764% 764% 161% --
# Simple: load 1
Rate CDBS CDBI DBIC RDBO
CDBS 259/s -- -33% -45% -58%
CDBI 385/s 48% -- -18% -37%
DBIC 469/s 81% 22% -- -23%
RDBO 610/s 135% 59% 30% --
# Simple: load 2
Rate CDBS CDBI DBIC RDBO
CDBS 187/s -- -24% -54% -60%
CDBI 245/s 31% -- -40% -48%
DBIC 410/s 119% 67% -- -13%
RDBO 469/s 151% 92% 15% --
# Complex: load 2
Rate CDBS CDBI DBIC RDBO
CDBS 132/s -- -18% -68% -72%
CDBI 161/s 22% -- -61% -66%
DBIC 413/s 213% 157% -- -13%
RDBO 474/s 259% 195% 15% --
# Simple: load 3
Rate CDBS CDBI DBIC RDBO
CDBS 130/s -- -15% -23% -48%
CDBI 154/s 18% -- -9% -38%
DBIC 170/s 30% 10% -- -32%
RDBO 249/s 91% 62% 47% --
# Complex: load 3
Rate CDBS CDBI DBIC RDBO
CDBS 100/s -- -12% -43% -58%
CDBI 114/s 14% -- -35% -52%
DBIC 175/s 74% 53% -- -27%
RDBO 238/s 137% 109% 36% --
# Simple: update 1
Rate CDBS CDBI DBIC RDBO
CDBS 147/s -- -19% -35% -57%
CDBI 181/s 23% -- -19% -47%
DBIC 224/s 53% 24% -- -35%
RDBO 342/s 134% 90% 53% --
# Simple: update 2
Rate CDBS CDBI DBIC RDBO
CDBS 115/s -- -19% -44% -60%
CDBI 142/s 23% -- -31% -51%
DBIC 207/s 80% 46% -- -28%
RDBO 288/s 150% 102% 39% --
# Complex: update 2
Rate CDBS CDBI RDBO DBIC
CDBS 73.8/s -- -10% -53% -61%
CDBI 81.6/s 11% -- -48% -57%
RDBO 158/s 114% 93% -- -16%
DBIC 188/s 155% 130% 19% --
# Simple: search 1
Rate CDBS CDBI RDBO DBIC
CDBS 1.31/s -- -12% -52% -61%
CDBI 1.48/s 13% -- -45% -56%
RDBO 2.71/s 107% 83% -- -20%
DBIC 3.37/s 157% 128% 24% --
# Simple: search 2
s/iter CDBS CDBI DBIC RDBO
CDBS 2.09 -- -10% -70% -71%
CDBI 1.89 11% -- -66% -68%
DBIC 0.633 230% 198% -- -4%
RDBO 0.607 245% 211% 4% --
# Complex: search 2
s/iter CDBS CDBI RDBO DBIC
CDBS 9.32 -- -5% -92% -93%
CDBI 8.86 5% -- -91% -93%
RDBO 0.791 1078% 1019% -- -22%
DBIC 0.617 1411% 1337% 28% --
# Simple: search with limit and offset
Rate CDBS DBIC RDBO
CDBS 42.3/s -- -41% -51%
DBIC 71.3/s 69% -- -17%
RDBO 86.3/s 104% 21% --
# Complex: search with limit and offset
Rate CDBS DBIC RDBO
CDBS 8.32/s -- -88% -88%
DBIC 70.1/s 743% -- -1%
RDBO 70.7/s 750% 1% --
# Making indexes...
# Simple: search with 1-to-1 sub-objects
s/iter CDBS CDBI DBIC RDBO
CDBS 2.88 -- -18% -58% -64%
CDBI 2.36 22% -- -48% -57%
DBIC 1.22 136% 94% -- -16%
RDBO 1.03 181% 130% 19% --
# Complex: search with 1-to-1 sub-objects
s/iter CDBS CDBI RDBO DBIC
CDBS 10.6 -- -10% -88% -89%
CDBI 9.61 11% -- -87% -87%
RDBO 1.25 752% 671% -- -3%
DBIC 1.21 781% 697% 3% --
# Inserting 1-to-n records.....
# Simple: search with 1-to-1 and 1-to-n sub-objects
Rate DBIC CDBS CDBI RDBO
DBIC 10.5/s -- -9% -22% -73%
CDBS 11.6/s 10% -- -14% -70%
CDBI 13.5/s 29% 17% -- -65%
RDBO 38.8/s 269% 235% 187% --
# Complex: search with 1-to-1 and 1-to-n sub-objects
Rate CDBS CDBI DBIC RDBO
CDBS 8.81/s -- -10% -40% -77%
CDBI 9.77/s 11% -- -34% -74%
DBIC 14.8/s 68% 51% -- -61%
RDBO 37.5/s 326% 284% 154% --
# Simple: iterate 1
Rate CDBS CDBI RDBO DBIC
CDBS 1.01/s -- -8% -58% -60%
CDBI 1.10/s 9% -- -54% -57%
RDBO 2.40/s 137% 118% -- -6%
DBIC 2.54/s 151% 131% 6% --
# Complex: iterate 1
Rate CDBS CDBI RDBO DBIC
CDBS 1.01/s -- -8% -57% -60%
CDBI 1.10/s 9% -- -53% -57%
RDBO 2.34/s 131% 112% -- -8%
DBIC 2.54/s 151% 131% 9% --
# Simple: iterate 2
s/iter CDBS CDBI DBIC RDBO
CDBS 2.36 -- -7% -69% -73%
CDBI 2.19 8% -- -66% -71%
DBIC 0.740 218% 196% -- -15%
RDBO 0.630 274% 248% 17% --
# Complex: iterate 2
s/iter CDBS CDBI RDBO DBIC
CDBS 10.1 -- -3% -92% -93%
CDBI 9.71 4% -- -91% -92%
RDBO 0.845 1089% 1049% -- -13%
DBIC 0.733 1271% 1225% 15% --
# Simple: iterate 3
s/iter CDBI CDBS DBIC RDBO
CDBI 7.99 -- -59% -83% -87%
CDBS 3.27 144% -- -59% -68%
DBIC 1.34 496% 144% -- -22%
RDBO 1.04 665% 213% 28% --
# Complex: iterate 3
s/iter CDBI CDBS DBIC RDBO
CDBI 15.9 -- -28% -92% -92%
CDBS 11.4 39% -- -88% -89%
DBIC 1.33 1097% 761% -- -3%
RDBO 1.28 1139% 791% 4% --
# Dropping indexes...
# Simple: delete
Rate CDBS CDBI DBIC RDBO
CDBS 163/s -- -19% -32% -80%
CDBI 202/s 24% -- -16% -75%
DBIC 239/s 47% 19% -- -71%
RDBO 813/s 400% 303% 240% --
# Complex: delete
Rate CDBS CDBI DBIC RDBO
CDBS 69.9/s -- -16% -69% -91%
CDBI 83.6/s 20% -- -62% -90%
DBIC 222/s 218% 166% -- -73%
RDBO 820/s 1073% 880% 269% --
--
Matt S Trout Specialists in Perl consulting, web development, and
Technical Director UNIX/Linux systems architecture and automation. Mail
Shadowcat Systems Ltd. mst (at) shadowcatsystems.co.uk for more information
+ Help us build a better perl ORM: http://dbix-class.shadowcatsystems.co.uk/ +
More information about the Dbix-class
mailing list