Issue Type: Bug Bug
Affects Versions: JRuby 1.7.0.pre1
Assignee: Unassigned
Components: Performance
Created: 25/May/12 7:02 AM
Description:

Slim (https://github.com/stonean/slim) comes with a nifty rake task for benchmarking erb, erubis, slim, and haml against each other. I decided to see what the impact would be between JRuby 1.6.7 and JRuby 1.7.0-preview1. As it turns out, JRuby 1.7.0-preview1 is roughly 3x slower than 1.6.7 and 2x slower than MRI 1.9.3-p194.

To run the benchmarks, clone the linked git project and run "rake bench iterations=10000". The output I'm seeing is:

JRuby 1.6.7

Rehearsal ---------------------------------------------------
(2) erb           1.636000   0.000000   1.636000 (  1.636000)
(2) erubis        0.843000   0.000000   0.843000 (  0.843000)
(2) fast erubis   0.675000   0.000000   0.675000 (  0.675000)
(2) slim          0.694000   0.000000   0.694000 (  0.694000)
(2) haml          3.623000   0.000000   3.623000 (  3.624000)
(2) haml ugly     1.552000   0.000000   1.552000 (  1.552000)
(3) erb           0.124000   0.000000   0.124000 (  0.124000)
(3) erubis        0.113000   0.000000   0.113000 (  0.113000)
(3) fast erubis   0.099000   0.000000   0.099000 (  0.100000)
(3) slim          0.176000   0.000000   0.176000 (  0.177000)
(3) haml          0.705000   0.000000   0.705000 (  0.705000)
(3) haml ugly     0.532000   0.000000   0.532000 (  0.532000)
(4) erb           0.280000   0.000000   0.280000 (  0.280000)
(4) erubis        0.182000   0.000000   0.182000 (  0.182000)
(4) slim          0.166000   0.000000   0.166000 (  0.166000)
(4) haml          0.831000   0.000000   0.831000 (  0.831000)
(4) haml ugly     0.654000   0.000000   0.654000 (  0.655000)
----------------------------------------- total: 12.885000sec

                      user     system      total        real
(2) erb           1.041000   0.000000   1.041000 (  1.041000)
(2) erubis        0.716000   0.000000   0.716000 (  0.717000)
(2) fast erubis   0.611000   0.000000   0.611000 (  0.611000)
(2) slim          0.094000   0.000000   0.094000 (  0.094000)
(2) haml          1.879000   0.000000   1.879000 (  1.879000)
(2) haml ugly     1.457000   0.000000   1.457000 (  1.457000)
(3) erb           0.052000   0.000000   0.052000 (  0.052000)
(3) erubis        0.054000   0.000000   0.054000 (  0.054000)
(3) fast erubis   0.054000   0.000000   0.054000 (  0.054000)
(3) slim          0.082000   0.000000   0.082000 (  0.082000)
(3) haml          0.497000   0.000000   0.497000 (  0.497000)
(3) haml ugly     0.427000   0.000000   0.427000 (  0.427000)
(4) erb           0.153000   0.000000   0.153000 (  0.153000)
(4) erubis        0.119000   0.000000   0.119000 (  0.119000)
(4) slim          0.094000   0.000000   0.094000 (  0.094000)
(4) haml          0.602000   0.000000   0.602000 (  0.602000)
(4) haml ugly     0.567000   0.000000   0.567000 (  0.567000)

JRuby 1.7.0-preview1

Rehearsal ---------------------------------------------------
(2) erb           2.700000   0.020000   2.720000 (  1.828000)
(2) erubis        1.360000   0.020000   1.380000 (  0.893000)
(2) fast erubis   0.880000   0.000000   0.880000 (  0.690000)
(2) slim          1.320000   0.000000   1.320000 (  0.856000)
(2) haml          8.280000   0.030000   8.310000 (  5.288000)
(2) haml ugly     3.050000   0.020000   3.070000 (  2.216000)
(3) erb           0.300000   0.000000   0.300000 (  0.195000)
(3) erubis        0.280000   0.000000   0.280000 (  0.159000)
(3) fast erubis   0.200000   0.000000   0.200000 (  0.125000)
(3) slim          0.310000   0.000000   0.310000 (  0.229000)
(3) haml          1.940000   0.000000   1.940000 (  1.787000)
(3) haml ugly     1.780000   0.000000   1.780000 (  1.630000)
(4) erb           0.830000   0.000000   0.830000 (  0.510000)
(4) erubis        0.700000   0.010000   0.710000 (  0.332000)
(4) slim          0.730000   0.000000   0.730000 (  0.359000)
(4) haml          2.640000   0.010000   2.650000 (  1.858000)
(4) haml ugly     2.570000   0.000000   2.570000 (  1.617000)
----------------------------------------- total: 29.980000sec

                      user     system      total        real
(2) erb           1.220000   0.000000   1.220000 (  1.067000)
(2) erubis        0.820000   0.000000   0.820000 (  0.768000)
(2) fast erubis   0.720000   0.000000   0.720000 (  0.696000)
(2) slim          0.510000   0.010000   0.520000 (  0.271000)
(2) haml          3.260000   0.010000   3.270000 (  2.781000)
(2) haml ugly     2.310000   0.000000   2.310000 (  2.237000)
(3) erb           0.410000   0.010000   0.420000 (  0.150000)
(3) erubis        0.270000   0.000000   0.270000 (  0.098000)
(3) fast erubis   0.230000   0.000000   0.230000 (  0.085000)
(3) slim          0.340000   0.000000   0.340000 (  0.205000)
(3) haml          1.720000   0.000000   1.720000 (  1.413000)
(3) haml ugly     1.540000   0.020000   1.560000 (  1.348000)
(4) erb           0.480000   0.010000   0.490000 (  0.238000)
(4) erubis        0.400000   0.000000   0.400000 (  0.152000)
(4) slim          0.310000   0.000000   0.310000 (  0.182000)
(4) haml          1.970000   0.020000   1.990000 (  1.612000)
(4) haml ugly     1.830000   0.000000   1.830000 (  1.561000)

MRI 1.9.3-p194

Rehearsal ---------------------------------------------------
(2) erb           1.030000   0.000000   1.030000 (  1.033575)
(2) erubis        0.850000   0.000000   0.850000 (  0.854663)
(2) fast erubis   0.740000   0.000000   0.740000 (  0.735334)
(2) slim          0.220000   0.000000   0.220000 (  0.220133)
(2) haml          2.330000   0.000000   2.330000 (  2.336672)
(2) haml ugly     1.920000   0.000000   1.920000 (  1.929706)
(3) erb           0.140000   0.000000   0.140000 (  0.135158)
(3) erubis        0.110000   0.000000   0.110000 (  0.109068)
(3) fast erubis   0.100000   0.010000   0.110000 (  0.110510)
(3) slim          0.140000   0.000000   0.140000 (  0.146917)
(3) haml          0.890000   0.000000   0.890000 (  0.889351)
(3) haml ugly     0.790000   0.000000   0.790000 (  0.790481)
(4) erb           0.260000   0.000000   0.260000 (  0.261193)
(4) erubis        0.170000   0.000000   0.170000 (  0.169054)
(4) slim          0.230000   0.000000   0.230000 (  0.228876)
(4) haml          1.090000   0.000000   1.090000 (  1.099741)
(4) haml ugly     0.980000   0.000000   0.980000 (  0.984773)
----------------------------------------- total: 12.000000sec

                      user     system      total        real
(2) erb           1.040000   0.000000   1.040000 (  1.041187)
(2) erubis        0.850000   0.000000   0.850000 (  0.851847)
(2) fast erubis   0.720000   0.000000   0.720000 (  0.723917)
(2) slim          0.210000   0.000000   0.210000 (  0.209854)
(2) haml          2.350000   0.000000   2.350000 (  2.346574)
(2) haml ugly     1.920000   0.000000   1.920000 (  1.925180)
(3) erb           0.130000   0.000000   0.130000 (  0.130167)
(3) erubis        0.100000   0.000000   0.100000 (  0.106564)
(3) fast erubis   0.110000   0.000000   0.110000 (  0.112015)
(3) slim          0.160000   0.000000   0.160000 (  0.149665)
(3) haml          0.880000   0.000000   0.880000 (  0.882373)
(3) haml ugly     0.810000   0.000000   0.810000 (  0.807144)
(4) erb           0.260000   0.000000   0.260000 (  0.259550)
(4) erubis        0.160000   0.000000   0.160000 (  0.164066)
(4) slim          0.220000   0.000000   0.220000 (  0.220579)
(4) haml          1.060000   0.000000   1.060000 (  1.071152)
(4) haml ugly     0.990000   0.000000   0.990000 (  0.996222)
Environment: Ubuntu 12.04. OpenJDK 7u3.
Project: JRuby
Priority: Major Major
Reporter: Kevin Menard
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

Reply via email to