Sha256: f2614966d48b2461b5734f3de6e7aa5151953a6fae05244a2ccf7430091149fb

Contents?: true

Size: 1.94 KB

Versions: 2

Compression:

Stored size: 1.94 KB

Contents

# Play from the console with:
#   play scripts/benchmarking/object_inspector.rb

require "ostruct"
require "benchmark/ips"

inspector_klass = ObjectInspector::Inspector

OBJECT_WITH_FLAGS_AND_INFO_AND_NAME ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    flags: "FLAG1 | FLAG2",
    info: "INFO",
    name: "NAME")
OBJECT_WITH_FLAGS_AND_INFO ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    flags: "FLAG1 | FLAG2",
    info: "INFO")
OBJECT_WITH_FLAGS_AND_NAME ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    flags: "FLAG1 | FLAG2",
    name: "NAME")
OBJECT_WITH_INFO_AND_NAME ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    info: "INFO",
    name: "NAME")
OBJECT_WITH_NAME ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    name: "NAME")
OBJECT_WITH_FLAGS ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    flags: "FLAG1 | FLAG2")
OBJECT_WITH_INFO ||=
  OpenStruct.new(
    identification: "IDENTIFICATION",
    info: "INFO")
OBJECT_WITH_BASE ||=
  OpenStruct.new(
    identification: "IDENTIFICATION")

puts "== Averaged ============================================================="
Benchmark.ips { |x|
  x.report(inspector_klass) {
    inspector_klass.inspect(OBJECT_WITH_FLAGS_AND_INFO_AND_NAME)
    inspector_klass.inspect(OBJECT_WITH_FLAGS_AND_INFO)
    inspector_klass.inspect(OBJECT_WITH_FLAGS_AND_NAME)
    inspector_klass.inspect(OBJECT_WITH_INFO_AND_NAME)
    inspector_klass.inspect(OBJECT_WITH_NAME)
    inspector_klass.inspect(OBJECT_WITH_FLAGS)
    inspector_klass.inspect(OBJECT_WITH_INFO)
    inspector_klass.inspect(OBJECT_WITH_BASE)
  }

  x.report("Ruby") {
    OBJECT_WITH_FLAGS_AND_INFO_AND_NAME.inspect
    OBJECT_WITH_FLAGS_AND_INFO.inspect
    OBJECT_WITH_FLAGS_AND_NAME.inspect
    OBJECT_WITH_INFO_AND_NAME.inspect
    OBJECT_WITH_NAME.inspect
    OBJECT_WITH_FLAGS.inspect
    OBJECT_WITH_INFO.inspect
    OBJECT_WITH_BASE.inspect
  }

  x.compare!
}
puts "== Done"

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
object_inspector-0.5.1 scripts/benchmarking/object_inspector.rb
object_inspector-0.5.0 scripts/benchmarking/object_inspector.rb