discourse/script/test_mem.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

42 lines
832 B
Ruby
Raw Permalink Normal View History

# frozen_string_literal: true
2013-11-28 09:40:10 +08:00
start = Time.now
require "objspace"
require File.expand_path("../../config/environment", __FILE__)
# preload stuff
I18n.t(:posts)
# load up all models and schema
(ActiveRecord::Base.connection.tables - %w[schema_migrations]).each do |table|
begin
2013-11-28 09:40:10 +08:00
table.classify.constantize.first
rescue StandardError
nil
end
2013-11-28 09:40:10 +08:00
end
# router warm up
begin
2013-11-28 09:40:10 +08:00
Rails.application.routes.recognize_path("abc")
rescue StandardError
nil
end
2013-11-28 09:40:10 +08:00
puts "Ruby version #{RUBY_VERSION} p#{RUBY_PATCHLEVEL}"
puts "Bootup time: #{Time.now - start} secs"
GC.start
puts "RSS: #{`ps -o rss -p #{$$}`.chomp.split("\n").last.to_i} KB"
s =
ObjectSpace
.each_object(String)
.map do |o|
ObjectSpace.memsize_of(o) + 40 # rvalue size on x64
end
puts "Total strings: #{s.count} space used: #{s.sum} bytes"