[Dbix-class] C3 branch is just a tad faster too

Matt S Trout dbix-class at trout.me.uk
Sun Nov 20 17:38:18 CET 2005


Bench with 0.03003 for comparison. If anybody fancies formatting up a
dbic 0.03003 vs. 0.03999_01 compare please do :)

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 314/s   --  -9% -14% -60%
CDBI 346/s  10%   --  -5% -56%
DBIC 365/s  16%   5%   -- -53%
RDBO 781/s 148% 126% 114%   --

# Complex: insert 1
      Rate CDBS CDBI DBIC RDBO
CDBS 321/s   --  -9% -10% -53%
CDBI 352/s  10%   --  -1% -48%
DBIC 355/s  11%   1%   -- -48%
RDBO 676/s 111%  92%  91%   --

# Simple: insert 2
      Rate CDBS CDBI DBIC RDBO
CDBS 179/s   --  -4% -29% -70%
CDBI 186/s   4%   -- -26% -69%
DBIC 251/s  40%  35%   -- -58%
RDBO 592/s 231% 218% 136%   --

# Complex: insert 2
      Rate CDBS CDBI RDBO DBIC
CDBS 204/s   --  -1% -13% -28%
CDBI 205/s   1%   -- -13% -27%
RDBO 235/s  15%  15%   -- -16%
DBIC 282/s  38%  37%  20%   --

# Simple: accessor 1
     s/iter  CDBS  CDBI  DBIC  RDBO
CDBS   2.04    --   -1%  -77%  -92%
CDBI   2.01    1%    --  -77%  -92%
DBIC  0.471  332%  327%    --  -66%
RDBO  0.162 1155% 1139%  190%    --

# Complex: accessor 1
     s/iter  CDBS  CDBI  DBIC  RDBO
CDBS   2.02    --   -1%  -77%  -91%
CDBI   2.00    1%    --  -76%  -91%
DBIC  0.472  328%  323%    --  -63%
RDBO  0.173 1068% 1054%  173%    --

# Simple: accessor 2
     s/iter  CDBI  CDBS  DBIC  RDBO
CDBI   8.91    --   -0%  -79%  -94%
CDBS   8.90    0%    --  -79%  -94%
DBIC   1.90  369%  368%    --  -73%
RDBO  0.520 1613% 1612%  265%    --

# Complex: accessor 2
     s/iter CDBS CDBI DBIC RDBO
CDBS   8.96   --  -1% -78% -89%
CDBI   8.88   1%   -- -78% -89%
DBIC   1.97 356% 352%   -- -49%
RDBO   1.01 785% 777%  94%   --

# Simple: load 1
      Rate CDBS DBIC CDBI RDBO
CDBS 259/s   -- -11% -32% -56%
DBIC 291/s  12%   -- -24% -51%
CDBI 380/s  47%  31%   -- -36%
RDBO 592/s 128% 104%  56%   --

# Simple: load 2
      Rate CDBS DBIC CDBI RDBO
CDBS 181/s   -- -22% -23% -60%
DBIC 233/s  29%   --  -1% -49%
CDBI 235/s  30%   1%   -- -49%
RDBO 457/s 153%  96%  95%   --

# Complex: load 2
      Rate CDBS CDBI DBIC RDBO
CDBS 127/s   -- -15% -45% -70%
CDBI 149/s  17%   -- -36% -64%
DBIC 233/s  83%  56%   -- -44%
RDBO 418/s 229% 181%  80%   --

# Simple: load 3
      Rate DBIC CDBS CDBI RDBO
DBIC 113/s   --  -6% -21% -56%
CDBS 120/s   6%   -- -16% -53%
CDBI 143/s  26%  19%   -- -45%
RDBO 258/s 128% 115%  81%   --

# Complex: load 3
       Rate CDBS DBIC CDBI RDBO
CDBS 93.3/s   -- -14% -15% -58%
DBIC  109/s  16%   --  -1% -52%
CDBI  110/s  18%   1%   -- -51%
RDBO  225/s 141% 107% 104%   --

# Simple: update 1
      Rate CDBS DBIC CDBI RDBO
CDBS 143/s   --  -4% -15% -57%
DBIC 149/s   4%   -- -11% -55%
CDBI 168/s  17%  12%   -- -50%
RDBO 333/s 134% 124%  99%   --

# Simple: update 2
      Rate CDBS DBIC CDBI RDBO
CDBS 113/s   -- -14% -15% -57%
DBIC 132/s  17%   --  -1% -50%
CDBI 133/s  17%   1%   -- -50%
RDBO 263/s 132%  99%  98%   --

# Complex: update 2
       Rate CDBS CDBI DBIC RDBO
CDBS 69.5/s   --  -8% -47% -53%
CDBI 75.5/s   9%   -- -42% -49%
DBIC  131/s  88%  73%   -- -11%
RDBO  147/s 112%  95%  13%   --

# Simple: search 1
        Rate DBIC CDBS CDBI RDBO
DBIC 0.446/s   -- -64% -68% -83%
CDBS  1.23/s 176%   -- -12% -52%
CDBI  1.41/s 215%  14%   -- -45%
RDBO  2.58/s 479% 110%  83%   --

# Simple: search 2
     s/iter DBIC CDBS CDBI RDBO
DBIC   3.45   -- -36% -42% -81%
CDBS   2.21  56%   --  -9% -71%
CDBI   2.02  71%  10%   -- -68%
RDBO  0.641 438% 245% 214%   --

# Complex: search 2
     s/iter  CDBS  CDBI  DBIC  RDBO
CDBS   9.89    --   -6%  -64%  -91%
CDBI   9.28    7%    --  -62%  -91%
DBIC   3.53  180%  163%    --  -76%
RDBO  0.855 1057%  985%  313%    --

# Simple: search with limit and offset
       Rate DBIC CDBS RDBO
DBIC 24.4/s   -- -36% -69%
CDBS 38.4/s  57%   -- -51%
RDBO 78.5/s 221% 104%   --

# Complex: search with limit and offset
       Rate CDBS DBIC RDBO
CDBS 7.84/s   -- -67% -89%
DBIC 23.8/s 203%   -- -65%
RDBO 68.6/s 775% 189%   --

# Making indexes...

# Simple: search with 1-to-1 sub-objects
     s/iter DBIC CDBS CDBI RDBO
DBIC   6.02   -- -49% -59% -82%
CDBS   3.05  97%   -- -19% -64%
CDBI   2.48 143%  23%   -- -56%
RDBO   1.09 453% 180% 128%   --

# Complex: search with 1-to-1 sub-objects
     s/iter CDBS CDBI DBIC RDBO
CDBS   12.4   -- -18% -51% -90%
CDBI   10.2  22%   -- -40% -87%
DBIC   6.10 104%  67%   -- -79%
RDBO   1.30 857% 684% 369%   --

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

# Simple: search with 1-to-1 and 1-to-n sub-objects
       Rate DBIC CDBS CDBI RDBO
DBIC 7.63/s   -- -28% -38% -78%
CDBS 10.6/s  39%   -- -14% -70%
CDBI 12.4/s  62%  16%   -- -65%
RDBO 35.2/s 362% 232% 185%   --

# Complex: search with 1-to-1 and 1-to-n sub-objects
       Rate CDBS CDBI DBIC RDBO
CDBS 7.78/s   -- -11% -21% -76%
CDBI 8.78/s  13%   -- -11% -73%
DBIC 9.82/s  26%  12%   -- -70%
RDBO 33.1/s 325% 277% 237%   --

# Simple: iterate 1
     s/iter DBIC CDBS CDBI RDBO
DBIC   2.45   -- -57% -61% -82%
CDBS   1.05 134%   --  -9% -57%
CDBI  0.957 156%  10%   -- -53%
RDBO  0.447 449% 135% 114%   --

# Complex: iterate 1
     s/iter DBIC CDBS CDBI RDBO
DBIC   2.47   -- -58% -61% -82%
CDBS   1.03 139%   --  -8% -56%
CDBI  0.955 158%   8%   -- -52%
RDBO  0.454 443% 128% 110%   --

# Simple: iterate 2
     s/iter DBIC CDBS CDBI RDBO
DBIC   3.79   -- -34% -39% -82%
CDBS   2.49  52%   --  -7% -73%
CDBI   2.33  63%   7%   -- -71%
RDBO  0.674 463% 270% 246%   --

# Complex: iterate 2
     s/iter  CDBS  CDBI  DBIC  RDBO
CDBS   10.7    --   -3%  -64%  -92%
CDBI   10.3    4%    --  -63%  -91%
DBIC   3.82  179%  169%    --  -76%
RDBO  0.898 1087% 1045%  325%    --

# Simple: iterate 3
     s/iter CDBI DBIC CDBS RDBO
CDBI   8.33   -- -19% -57% -87%
DBIC   6.74  24%   -- -47% -83%
CDBS   3.56 134%  89%   -- -69%
RDBO   1.12 645% 503% 218%   --

# Complex: iterate 3
     s/iter  CDBI  CDBS  DBIC  RDBO
CDBI   16.6    --  -26%  -59%  -92%
CDBS   12.2   36%    --  -44%  -89%
DBIC   6.80  144%   80%    --  -80%
RDBO   1.36 1127%  803%  402%    --

# Dropping indexes...

# Simple: delete
      Rate DBIC CDBS CDBI RDBO
DBIC 151/s   --  -2% -22% -80%
CDBS 154/s   2%   -- -21% -80%
CDBI 195/s  29%  26%   -- -74%
RDBO 752/s 398% 388% 286%   --

# Complex: delete
       Rate CDBS CDBI DBIC RDBO
CDBS 66.6/s   -- -14% -51% -91%
CDBI 77.9/s  17%   -- -42% -89%
DBIC  135/s 102%  73%   -- -81%
RDBO  719/s 980% 824% 434%   --

-- 
     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