mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 00:16:19 +08:00
88249932a0
Benchmarking: ``` Benchmark.ips do |b| b.report("simple") do User.first end end ActiveSupport::Notifications.notifier.listeners_for("sql.active_record").clear Benchmark.ips do |b| b.report("simple") do User.first end end ``` ``` sam@arch discourse % RAILS_ENV=production ruby script/micro_bench.rb Before Calculating ------------------------------------- simple 3.289k (± 4.4%) i/s - 16.575k in 5.049771s After Calculating ------------------------------------- simple 3.491k (± 3.6%) i/s - 17.442k in 5.002226s ````
13 lines
452 B
Ruby
13 lines
452 B
Ruby
# frozen_string_literal: true
|
|
|
|
if Rails.env == "production"
|
|
# This event happens quite a lot and fans out to ExplainSubscriber
|
|
# and Logger, this cuts out 2 method calls that every time we run SQL
|
|
#
|
|
# In production we do not care about Explain or Logging SQL statements
|
|
# at this level
|
|
#
|
|
# Micro bench shows for `User.first` this takes us from 3.3k/s to 3.5k/s
|
|
ActiveSupport::Notifications.notifier.unsubscribe("sql.active_record")
|
|
end
|