My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
RDBOBenchmarks  
Benchmark results for Rose::DB::Object.
Updated May 23, 2010 by sirac...@gmail.com

Rose::DB::Object Benchmarks

The results below are from a run on my personal system (2x2.8GHz Xeon 5400) on May 23, 2010.

(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.10
DBIx::Class        0.08121
Rose::DB::Object   0.788

# Simple: insert 1
       Rate CDBS CDBI DBIC RDBO
CDBS 2312/s   --  -1% -12% -70%
CDBI 2339/s   1%   -- -11% -70%
DBIC 2632/s  14%  12%   -- -66%
RDBO 7692/s 233% 229% 192%   --

# Complex: insert 1
       Rate CDBS CDBI DBIC RDBO
CDBS 2247/s   --  -2% -15% -69%
CDBI 2286/s   2%   -- -14% -68%
DBIC 2649/s  18%  16%   -- -63%
RDBO 7143/s 218% 212% 170%   --

# Simple: insert 2
       Rate CDBS CDBI DBIC RDBO
CDBS 1303/s   --  -2% -13% -77%
CDBI 1325/s   2%   -- -12% -76%
DBIC 1498/s  15%  13%   -- -73%
RDBO 5556/s 326% 319% 271%   --

# Complex: insert 2
       Rate CDBS CDBI DBIC RDBO
CDBS 1429/s   --  -5% -18% -76%
CDBI 1498/s   5%   -- -13% -75%
DBIC 1732/s  21%  16%   -- -71%
RDBO 5970/s 318% 299% 245%   --

# Simple: accessor 1
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS 3.26/s    --   -1%  -87%  -95%
CDBI 3.30/s    1%    --  -87%  -95%
DBIC 25.2/s  673%  665%    --  -63%
RDBO 68.2/s 1989% 1966%  170%    --

# Complex: accessor 1
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS 3.29/s    --   -0%  -87%  -95%
CDBI 3.30/s    0%    --  -87%  -95%
DBIC 25.6/s  678%  675%    --  -62%
RDBO 67.8/s 1961% 1952%  165%    --

# Simple: accessor 2
       s/iter  CDBS  CDBI  DBIC  RDBO
CDBS     1.35    --   -0%  -88%  -96%
CDBI     1.35    0%    --  -88%  -96%
DBIC    0.164  725%  723%    --  -65%
RDBO 5.81e-02 2225% 2221%  182%    --

# Complex: accessor 2
     s/iter  CDBS  CDBI  DBIC  RDBO
CDBS   1.35    --   -0%  -68%  -91%
CDBI   1.35    0%    --  -68%  -91%
DBIC  0.429  215%  215%    --  -71%
RDBO  0.123 1000%  999%  249%    --

# Simple: load 1
       Rate CDBS DBIC CDBI RDBO
CDBS 2010/s   -- -18% -31% -70%
DBIC 2439/s  21%   -- -16% -64%
CDBI 2920/s  45%  20%   -- -57%
RDBO 6780/s 237% 178% 132%   --

# Simple: load 2
       Rate CDBS CDBI DBIC RDBO
CDBS 1556/s   -- -25% -27% -68%
CDBI 2083/s  34%   --  -2% -58%
DBIC 2128/s  37%   2%   -- -57%
RDBO 4938/s 217% 137% 132%   --

# Complex: load 2
       Rate CDBS CDBI DBIC RDBO
CDBS 1136/s   -- -20% -44% -75%
CDBI 1413/s  24%   -- -31% -69%
DBIC 2041/s  80%  44%   -- -55%
RDBO 4545/s 300% 222% 123%   --

# Simple: load 3
       Rate DBIC CDBS CDBI RDBO
DBIC  730/s   -- -32% -46% -73%
CDBS 1067/s  46%   -- -21% -60%
CDBI 1356/s  86%  27%   -- -49%
RDBO 2667/s 265% 150%  97%   --

# Complex: load 3
       Rate DBIC CDBS CDBI RDBO
DBIC  723/s   -- -15% -28% -70%
CDBS  849/s  17%   -- -16% -64%
CDBI 1008/s  39%  19%   -- -58%
RDBO 2381/s 229% 180% 136%   --

# Simple: update 1
       Rate CDBS DBIC CDBI RDBO
CDBS 1198/s   -- -15% -20% -63%
DBIC 1413/s  18%   --  -6% -57%
CDBI 1504/s  26%   6%   -- -54%
RDBO 3252/s 172% 130% 116%   --

# Simple: update 2
       Rate CDBS CDBI DBIC RDBO
CDBS  990/s   -- -11% -15% -65%
CDBI 1114/s  13%   --  -4% -60%
DBIC 1166/s  18%   5%   -- -59%
RDBO 2817/s 185% 153% 142%   --

# Complex: update 2
       Rate CDBS CDBI DBIC RDBO
CDBS  610/s   -- -11% -44% -77%
CDBI  681/s  12%   -- -37% -75%
DBIC 1087/s  78%  60%   -- -60%
RDBO 2703/s 343% 297% 149%   --

# Simple: search 1
      Rate CDBS DBIC CDBI RDBO
CDBS 163/s   --  -6%  -9% -61%
DBIC 173/s   7%   --  -3% -59%
CDBI 179/s  10%   3%   -- -57%
RDBO 419/s 158% 142% 134%   --

# Simple: search 2
       Rate CDBS CDBI DBIC RDBO
CDBS 63.4/s   --  -8% -44% -72%
CDBI 69.0/s   9%   -- -39% -69%
DBIC  113/s  79%  64%   -- -50%
RDBO  226/s 257% 227% 100%   --

# Complex: search 2
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS 12.0/s    --   -2%  -89%  -93%
CDBI 12.2/s    2%    --  -89%  -93%
DBIC  112/s  837%  821%    --  -34%
RDBO  171/s 1329% 1306%   53%    --

# Simple: search with limit and offset
       Rate CDBS DBIC RDBO
CDBS 62.7/s   -- -44% -72%
DBIC  112/s  79%   -- -50%
RDBO  225/s 259% 101%   --

# Complex: search with limit and offset
       Rate  CDBS  DBIC  RDBO
CDBS 12.0/s    --  -89%  -93%
DBIC  112/s  834%    --  -35%
RDBO  171/s 1327%   53%    --

# Making indexes...

# Simple: search with 1-to-1 sub-objects
       Rate DBIC CDBS CDBI RDBO
DBIC 26.5/s   -- -49% -52% -91%
CDBS 51.6/s  95%   --  -7% -82%
CDBI 55.2/s 108%   7%   -- -81%
RDBO  288/s 986% 458% 422%   --

# Complex: search with 1-to-1 sub-objects
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS 11.5/s    --   -1%  -56%  -96%
CDBI 11.7/s    2%    --  -56%  -96%
DBIC 26.4/s  130%  126%    --  -91%
RDBO  287/s 2401% 2363%  989%    --

# Inserting 1-to-n records.....

# Simple: search with 1-to-1 and 1-to-n sub-objects
     s/iter CDBS DBIC CDBI RDBO
CDBS   2.64   -- -12% -14% -86%
DBIC   2.34  13%   --  -2% -84%
CDBI   2.28  16%   2%   -- -84%
RDBO  0.368 618% 534% 520%   --

# Complex: search with 1-to-1 and 1-to-n sub-objects
     s/iter CDBS CDBI DBIC RDBO
CDBS   3.93   -- -10% -40% -90%
CDBI   3.55  11%   -- -33% -89%
DBIC   2.37  66%  50%   -- -84%
RDBO  0.379 937% 838% 526%   --

# Simple: iterate 1
      Rate DBIC CDBS CDBI RDBO
DBIC 114/s   --  -6% -14% -67%
CDBS 121/s   7%   --  -8% -65%
CDBI 132/s  16%   9%   -- -61%
RDBO 342/s 201% 182% 159%   --

# Complex: iterate 1
      Rate DBIC CDBS CDBI RDBO
DBIC 113/s   --  -7% -14% -66%
CDBS 122/s   7%   --  -8% -64%
CDBI 132/s  16%   8%   -- -61%
RDBO 336/s 196% 176% 155%   --

# Simple: iterate 2
       Rate CDBS CDBI DBIC RDBO
CDBS 53.7/s   --  -7% -30% -73%
CDBI 57.9/s   8%   -- -24% -71%
DBIC 76.4/s  42%  32%   -- -62%
RDBO  201/s 274% 247% 163%   --

# Complex: iterate 2
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS 11.4/s    --   -2%  -85%  -93%
CDBI 11.6/s    2%    --  -85%  -92%
DBIC 76.2/s  570%  554%    --  -51%
RDBO  155/s 1258% 1227%  103%    --

# Simple: iterate 3
       Rate CDBS CDBI DBIC RDBO
CDBS 21.0/s   --  -5% -10% -83%
CDBI 22.0/s   5%   --  -5% -83%
DBIC 23.2/s  11%   5%   -- -82%
RDBO  126/s 499% 472% 442%   --

# Complex: iterate 3
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS 8.59/s    --   -1%  -63%  -92%
CDBI 8.67/s    1%    --  -62%  -92%
DBIC 23.1/s  169%  166%    --  -78%
RDBO  105/s 1119% 1107%  354%    --

# Dropping indexes...

# Simple: delete
       Rate CDBS DBIC CDBI RDBO
CDBS 1320/s   -- -11% -17% -84%
DBIC 1476/s  12%   --  -7% -82%
CDBI 1594/s  21%   8%   -- -81%
RDBO 8333/s 531% 465% 423%   --

# Complex: delete
       Rate  CDBS  CDBI  DBIC  RDBO
CDBS  777/s    --  -15%  -36%  -92%
CDBI  911/s   17%    --  -25%  -90%
DBIC 1216/s   57%   33%    --  -87%
RDBO 9302/s 1098%  921%  665%    --

# Simple: insert or update
       Rate CDBS DBIC CDBI RDBO
CDBS 1015/s   --  -0% -30% -81%
DBIC 1018/s   0%   -- -30% -81%
CDBI 1460/s  44%  43%   -- -73%
RDBO 5479/s 440% 438% 275%   --

# Complex: insert or update
       Rate DBIC RDBO
DBIC  915/s   -- -78%
RDBO 4211/s 360%   --

Sign in to add a comment
Powered by Google Project Hosting