Sha256: acc26fcdeac5503ebc459979b7e1e9edc625fbe2c13ed25c0c1657af909b4781
Contents?: true
Size: 992 Bytes
Versions: 5
Compression:
Stored size: 992 Bytes
Contents
#!/usr/bin/env ruby require 'bundler/setup' require 'skn_utils' require 'ostruct' require 'benchmark/ips' Benchmark.ips do |x| class RegularClass attr_accessor :foo end class OpenStructClass < OpenStruct end x.report('regular class') do r = RegularClass.new r.foo = :bar r.foo end x.report('OpenStruct class') do o = OpenStructClass.new(foo: nil) o.foo = :bar o.foo end x.report('NestedResult class') do n = SknUtils::NestedResult.new(foo: nil) n.foo = :bar n.foo end end # Warming up -------------------------------------- # regular class 182.079k i/100ms # OpenStruct class 12.129k i/100ms # NestedResult class 11.075k i/100ms # Calculating ------------------------------------- # regular class 4.140M (± 2.2%) i/s - 20.757M in 5.015689s # OpenStruct class 129.418k (± 2.3%) i/s - 654.966k in 5.063580s # NestedResult class 115.819k (± 2.3%) i/s - 586.975k in 5.070852s
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
skn_utils-3.3.2 | bin/benchmark.rb |
skn_utils-3.3.1 | bin/benchmark.rb |
skn_utils-3.3.0 | bin/benchmark.rb |
skn_utils-3.2.1 | bin/benchmark.rb |
skn_utils-3.2.0 | bin/benchmark.rb |