|
RDBOBenchmarks
Benchmark results for Rose::DB::Object.
Rose::DB::Object BenchmarksThe results below are from a run on my personal system (2x2.8GHz Xeon 5400) on January 24, 2009. (These benchmarks are very sensibly done, and I tend to use them as a way to check the performance impact of updates to DBIx::Class. Props and thanks to Siracusa for providing them. -- Matt S Trout, DBIx::Class project founder.) In case it isn't obvious, the modules are abbreviated like this: CDBI - Class::DBI CDBS - Class::DBI::Sweet DBIC - DBIx::Class RDBO - Rose::DB::Object To see how these modules fare against raw DBI, check the results that include DBI. % ./bench.pl --cmp Class::DBI,Class::DBI::Sweet,DBIx::Class --db mysql --iterations 4000 --cpu 10 --skip-intro
##
## Benchmark against Class::DBI, Class::DBI::Sweet, DBIx::Class using MySQL
##
Module Version
----------------- -------
Class::DBI 3.0.17
Class::DBI::Sweet 0.09
DBIx::Class 0.08010
Rose::DB::Object 0.777
# Simple: insert 1
Rate CDBS CDBI DBIC RDBO
CDBS 2000/s -- -3% -26% -69%
CDBI 2062/s 3% -- -23% -69%
DBIC 2685/s 34% 30% -- -59%
RDBO 6557/s 228% 218% 144% --
# Complex: insert 1
Rate CDBS CDBI DBIC RDBO
CDBS 1932/s -- -4% -28% -67%
CDBI 2020/s 5% -- -25% -66%
DBIC 2685/s 39% 33% -- -54%
RDBO 5882/s 204% 191% 119% --
# Simple: insert 2
Rate CDBS CDBI DBIC RDBO
CDBS 1087/s -- -2% -29% -80%
CDBI 1105/s 2% -- -28% -79%
DBIC 1527/s 40% 38% -- -71%
RDBO 5333/s 391% 383% 249% --
# Complex: insert 2
Rate CDBS CDBI DBIC RDBO
CDBS 1205/s -- -5% -32% -76%
CDBI 1262/s 5% -- -29% -75%
DBIC 1770/s 47% 40% -- -65%
RDBO 5000/s 315% 296% 182% --
# Simple: accessor 1
Rate CDBI CDBS DBIC RDBO
CDBI 2.43/s -- -13% -87% -95%
CDBS 2.79/s 15% -- -85% -94%
DBIC 18.7/s 666% 569% -- -61%
RDBO 47.3/s 1843% 1596% 154% --
# Complex: accessor 1
Rate CDBS CDBI DBIC RDBO
CDBS 2.83/s -- -0% -85% -94%
CDBI 2.84/s 0% -- -85% -94%
DBIC 18.7/s 561% 559% -- -60%
RDBO 47.1/s 1563% 1557% 152% --
# Simple: accessor 2
s/iter CDBI CDBS DBIC RDBO
CDBI 1.56 -- -0% -85% -95%
CDBS 1.55 0% -- -85% -95%
DBIC 0.227 586% 586% -- -67%
RDBO 7.54e-02 1964% 1962% 201% --
# Complex: accessor 2
s/iter CDBS CDBI DBIC RDBO
CDBS 1.55 -- -1% -58% -90%
CDBI 1.55 1% -- -57% -90%
DBIC 0.660 135% 134% -- -77%
RDBO 0.155 904% 899% 326% --
# Simple: load 1
Rate CDBS DBIC CDBI RDBO
CDBS 1852/s -- -27% -28% -67%
DBIC 2532/s 37% -- -1% -55%
CDBI 2564/s 38% 1% -- -54%
RDBO 5634/s 204% 123% 120% --
# Simple: load 2
Rate CDBS CDBI DBIC RDBO
CDBS 1389/s -- -25% -36% -70%
CDBI 1860/s 34% -- -14% -60%
DBIC 2174/s 57% 17% -- -54%
RDBO 4706/s 239% 153% 116% --
# Complex: load 2
Rate CDBS CDBI DBIC RDBO
CDBS 964/s -- -21% -56% -78%
CDBI 1227/s 27% -- -44% -72%
DBIC 2198/s 128% 79% -- -50%
RDBO 4396/s 356% 258% 100% --
# Simple: load 3
Rate DBIC CDBS CDBI RDBO
DBIC 688/s -- -29% -40% -72%
CDBS 971/s 41% -- -16% -60%
CDBI 1149/s 67% 18% -- -53%
RDBO 2424/s 252% 150% 111% --
# Complex: load 3
Rate CDBS DBIC CDBI RDBO
CDBS 733/s -- -1% -16% -68%
DBIC 741/s 1% -- -15% -68%
CDBI 873/s 19% 18% -- -62%
RDBO 2312/s 216% 212% 165% --
# Simple: update 1
Rate CDBS DBIC CDBI RDBO
CDBS 1039/s -- -19% -20% -67%
DBIC 1278/s 23% -- -2% -59%
CDBI 1303/s 25% 2% -- -58%
RDBO 3125/s 201% 145% 140% --
# Simple: update 2
Rate CDBS CDBI DBIC RDBO
CDBS 857/s -- -17% -22% -69%
CDBI 1036/s 21% -- -5% -62%
DBIC 1093/s 28% 5% -- -60%
RDBO 2721/s 218% 163% 149% --
# Complex: update 2
Rate CDBS CDBI DBIC RDBO
CDBS 533/s -- -6% -51% -78%
CDBI 566/s 6% -- -48% -77%
DBIC 1084/s 104% 92% -- -56%
RDBO 2439/s 358% 331% 125% --
# Simple: search 1
Rate DBIC CDBS CDBI RDBO
DBIC 130/s -- -1% -10% -62%
CDBS 131/s 1% -- -9% -61%
CDBI 145/s 12% 10% -- -57%
RDBO 337/s 160% 157% 133% --
# Simple: search 2
Rate CDBS CDBI DBIC RDBO
CDBS 50.1/s -- -7% -41% -72%
CDBI 54.0/s 8% -- -37% -70%
DBIC 85.6/s 71% 59% -- -52%
RDBO 177/s 254% 228% 107% --
# Complex: search 2
Rate CDBS CDBI DBIC RDBO
CDBS 9.95/s -- -1% -88% -93%
CDBI 10.1/s 1% -- -88% -92%
DBIC 85.9/s 763% 753% -- -36%
RDBO 134/s 1245% 1228% 56% --
# Simple: search with limit and offset
Rate CDBS DBIC RDBO
CDBS 50.3/s -- -41% -71%
DBIC 85.5/s 70% -- -51%
RDBO 176/s 250% 106% --
# Complex: search with limit and offset
Rate CDBS DBIC RDBO
CDBS 10.0/s -- -88% -93%
DBIC 86.1/s 757% -- -36%
RDBO 134/s 1234% 56% --
# Making indexes...
# Simple: search with 1-to-1 sub-objects
Rate DBIC CDBS CDBI RDBO
DBIC 23.3/s -- -44% -47% -90%
CDBS 41.4/s 78% -- -6% -81%
CDBI 44.1/s 89% 6% -- -80%
RDBO 223/s 855% 438% 405% --
# Complex: search with 1-to-1 sub-objects
Rate CDBS CDBI DBIC RDBO
CDBS 9.39/s -- -2% -60% -96%
CDBI 9.57/s 2% -- -59% -96%
DBIC 23.3/s 148% 143% -- -90%
RDBO 222/s 2269% 2224% 854% --
# Inserting 1-to-n records.....
# Simple: search with 1-to-1 and 1-to-n sub-objects
s/iter CDBS CDBI DBIC RDBO
CDBS 3.13 -- -13% -16% -87%
CDBI 2.72 15% -- -3% -85%
DBIC 2.63 19% 3% -- -84%
RDBO 0.410 664% 563% 543% --
# Complex: search with 1-to-1 and 1-to-n sub-objects
s/iter CDBS CDBI DBIC RDBO
CDBS 4.51 -- -6% -38% -90%
CDBI 4.23 7% -- -34% -90%
DBIC 2.79 62% 52% -- -84%
RDBO 0.441 923% 858% 532% --
# Simple: iterate 1
Rate DBIC CDBS CDBI RDBO
DBIC 84.6/s -- -15% -21% -69%
CDBS 99.7/s 18% -- -7% -64%
CDBI 107/s 26% 7% -- -61%
RDBO 275/s 225% 176% 158% --
# Complex: iterate 1
Rate DBIC CDBS CDBI RDBO
DBIC 84.0/s -- -17% -22% -69%
CDBS 101/s 20% -- -7% -63%
CDBI 108/s 29% 7% -- -61%
RDBO 274/s 226% 172% 153% --
# Simple: iterate 2
Rate CDBS CDBI DBIC RDBO
CDBS 43.6/s -- -8% -25% -72%
CDBI 47.1/s 8% -- -18% -70%
DBIC 57.7/s 32% 22% -- -63%
RDBO 156/s 258% 231% 170% --
# Complex: iterate 2
Rate CDBI CDBS DBIC RDBO
CDBI 9.73/s -- -1% -83% -92%
CDBS 9.84/s 1% -- -83% -92%
DBIC 57.8/s 494% 488% -- -52%
RDBO 120/s 1138% 1125% 108% --
# Simple: iterate 3
Rate CDBS CDBI DBIC RDBO
CDBS 18.5/s -- -2% -9% -82%
CDBI 18.9/s 2% -- -7% -81%
DBIC 20.4/s 10% 8% -- -80%
RDBO 100/s 441% 431% 392% --
# Complex: iterate 3
Rate CDBS CDBI DBIC RDBO
CDBS 7.25/s -- -2% -65% -91%
CDBI 7.37/s 2% -- -64% -91%
DBIC 20.7/s 185% 181% -- -75%
RDBO 84.2/s 1061% 1042% 307% --
# Dropping indexes...
# Simple: delete
Rate CDBS DBIC CDBI RDBO
CDBS 1227/s -- -17% -17% -84%
DBIC 1487/s 21% -- -0% -81%
CDBI 1487/s 21% 0% -- -81%
RDBO 7843/s 539% 427% 427% --
# Complex: delete
Rate CDBS CDBI DBIC RDBO
CDBS 684/s -- -15% -47% -91%
CDBI 806/s 18% -- -38% -90%
DBIC 1299/s 90% 61% -- -83%
RDBO 7843/s 1047% 873% 504% --
# Simple: insert or update
Rate CDBS DBIC CDBI RDBO
CDBS 973/s -- -19% -20% -79%
DBIC 1208/s 24% -- -1% -74%
CDBI 1223/s 26% 1% -- -74%
RDBO 4706/s 384% 289% 285% --
# Complex: insert or update
Rate DBIC RDBO
DBIC 980/s -- -76%
RDBO 4040/s 312% --
|
Sign in to add a comment