Sha256: b2dba395b1db27663d98a313e116dc343ddfbcf90afff3b7d95f61afea2d39cf
Contents?: true
Size: 1.09 KB
Versions: 4
Compression:
Stored size: 1.09 KB
Contents
# For development purposes; do not waste your tine reading it! # YAGNI # rubocop:disable all require 'test_helper' require 'benchmark' require 'benchmark/ips' # ENV['MORE'] = 'true' describe 'Internal timings' do let(:order) { Order.create } def setup reset_order Order.add_to_flags :blocked end it 'times ips' do return unless ENV['MORE'] Benchmark.ips do |x| x.report('assign true : ') { order.blocked = true } x.report('assign false: ') { order.blocked = false } x.report('assign "false": ') { order.blocked = 'false' } x.report('x = order.blocked? ') { x = order.blocked? } x.report('x = order.blocked ') { x = order.blocked } x.compare! end end end class BenchFoo < Minitest::Benchmark def bench_order_blocked return unless ENV['MORE'] n = 1_000_000 n = 100_000 n = 10_000 Order.add_to_flags :blocked2 order = Order.create assert_performance_constant do |input| n.times do order.blocked2 = true order.blocked2 = !order.blocked2 end end end end
Version data entries
4 entries across 4 versions & 1 rubygems