Sha256: 94dd788e0f735b468130f7d8c6bf2b5b0d41a0d55bbf9fc3b9df7c953c9934ed

Contents?: true

Size: 510 Bytes

Versions: 13

Compression:

Stored size: 510 Bytes

Contents

Benchmark.ips do |x|
  %x{
    var o = {}
    o[Symbol.for('foo')] = 123
    o.foo = 123
    var foo = Symbol('foo')
    var gfoo = Symbol.for('foo')
    o[foo] = 123
    var a = 0, b = 0, c = 0
  }

  x.report('live global symbol') do
    `a += o[Symbol.for('foo')]`
  end

  x.report('stored global symbol') do
    `a += o[gfoo]`
  end

  x.report('stored symbol') do
    `a += o[foo]`
  end

  x.report('ident') do
    `b += o.foo`
  end

  x.report('string') do
    `c += o['foo']`
  end

  x.compare!
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
opal-1.4.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.4.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.4.0.alpha1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.3.2 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.3.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.3.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.3.0.rc1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.3.0.alpha1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.2.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.2.0.beta1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.1.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.1.1.rc1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.1.0 benchmark-ips/bm_js_symbols_vs_strings.rb