Skip to content

Instantly share code, notes, and snippets.

@newtonapple
Created September 9, 2009 19:34
Show Gist options
  • Save newtonapple/184010 to your computer and use it in GitHub Desktop.
Save newtonapple/184010 to your computer and use it in GitHub Desktop.
Benchmark: Syslog VS Logger VS BufferedLogger
require 'rbench'
require 'activesupport'
require 'syslog'
require 'logger'
buffered = ActiveSupport::BufferedLogger.new('buffered.log')
logger = Logger.new('logger.log')
syslog = Syslog.open('rb_syslog')
TIMES = 5
RBench.run(TIMES) do
column :syslog, :title => 'Syslog'
column :logger, :title => 'Logger'
column :buffered, :title => 'ActiveSuppoort::BufferedLogger'
report '#info' do
syslog {
3000.times do |i|
syslog.info "hello #{i}"
end
}
logger {
3000.times do |i|
logger.info "#{Time.now} logging_logger[Process.pid]: INFO logging_logger : hello #{i}"
end
}
buffered {
3000.times do |i|
buffered.info "#{Time.now} logging_logger[Process.pid]: INFO logging_logger : hello #{i}"
end
}
end
end
#> RUBYOPT=rubygems ruby loggers_bench.rb
# Syslog | Logger | ActiveSuppoort::BufferedLogger |
#------------------------------------------------------------------
##info 8.031 | 0.451 | 0.336 |
@tpett
Copy link

tpett commented Feb 13, 2012

I had very different results from the same script:

               Syslog |  Logger | ActiveSuppoort::BufferedLogger |
------------------------------------------------------------------
#info           0.595 |   0.382 |                          0.467 |

$ ruby --version
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.7.0], MBARI 0x6770, Ruby Enterprise Edition 2011.03

Just an FYI for anyone checking this out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment