Ramaze Wiki
History
Table of Contents
  1. Ramaze Benchmarks
    1. simple
    2. no_template
    3. no_informer
    4. no_sessions
    5. bare minimum

Ramaze Benchmarks


These benchmarks were generated using Ramaze's benchmark suite. Benchmarks for more adapters (fastcgi, swifiplied_mongrel) and other frameworks (rails, merb, camping) coming soon...
For best performance, use evented_mongrel (requires installation of swiftiply and eventmachine gems)
Preliminary ruby-1.9 benchmarks show a 60-80% speedup.

simple

require 'ramaze'

class MainController < Ramaze::Controller
  def index
    "Hello, World!"
  end
end

=== webrick ===
  Mem usage before:       20.32MB
  Time taken for tests:   7.747022 seconds
  Failed requests:        0
  Requests per second:    129.08 [#/sec] (mean)
  Time per request:       77.470 [ms] (mean)
  Time per request:       7.747 [ms] (mean, across all concurrent requests)
  Mem usage after:        25.43MB

=== mongrel ===
  Mem usage before:       20.25MB
  Time taken for tests:   2.205161 seconds
  Failed requests:        0
  Requests per second:    453.48 [#/sec] (mean)
  Time per request:       22.052 [ms] (mean)
  Time per request:       2.205 [ms] (mean, across all concurrent requests)
  Mem usage after:        21.91MB

=== evented_mongrel ===
  Mem usage before:       22.64MB
  Time taken for tests:   1.311583 seconds
  Failed requests:        0
  Requests per second:    762.44 [#/sec] (mean)
  Time per request:       13.116 [ms] (mean)
  Time per request:       1.312 [ms] (mean, across all concurrent requests)
  Mem usage after:        27.03MB

no_template

require 'ramaze'

class MainController < Ramaze::Controller
  engine :None

  def index
    "Hello, World!"
  end
end

=== evented_mongrel ===
  Mem usage before:       22.63MB
  Time taken for tests:   1.151947 seconds
  Failed requests:        0
  Requests per second:    868.10 [#/sec] (mean)
  Time per request:       11.519 [ms] (mean)
  Time per request:       1.152 [ms] (mean, across all concurrent requests)
  Mem usage after:        27.11MB

no_informer

require 'ramaze'

class MainController < Ramaze::Controller
  def index
    "Hello, World!"
  end
end

Ramaze::Inform.loggers = []

=== evented_mongrel ===
  Mem usage before:       22.63MB
  Time taken for tests:   1.202878 seconds
  Failed requests:        0
  Requests per second:    831.34 [#/sec] (mean)
  Time per request:       12.029 [ms] (mean)
  Time per request:       1.203 [ms] (mean, across all concurrent requests)
  Mem usage after:        27.07MB

no_sessions

require 'ramaze'

class MainController < Ramaze::Controller
  def index
    "Hello, World!"
  end
end

Ramaze::Inform.loggers = []
Ramaze::Global.sessions = false

=== evented_mongrel ===
  Mem usage before:       22.63MB
  Time taken for tests:   0.835254 seconds
  Failed requests:        0
  Requests per second:    1197.24 [#/sec] (mean)
  Time per request:       8.353 [ms] (mean)
  Time per request:       0.835 [ms] (mean, across all concurrent requests)
  Mem usage after:        26.38MB

bare minimum

no engine, no logger, no session, no sourcereload

require 'ramaze'

class MainController < Ramaze::Controller
  engine :None

  def index
    "Hello, World!"
  end
end

Ramaze::Global.sourcereload = false
Ramaze::Global.sessions = false
Ramaze::Inform.loggers = []

=== evented_mongrel ===
  Mem usage before:       22.62MB
  Time taken for tests:   0.647273 seconds
  Failed requests:        0
  Requests per second:    1544.94 [#/sec] (mean)
  Time per request:       6.473 [ms] (mean)
  Time per request:       0.647 [ms] (mean, across all concurrent requests)
  Mem usage after:        26.42MB