Sha256: 1a7780b355e8c3e089413a68f8aa9faf211aa84fcdde4c4df7926fc947a1e6c8

Contents?: true

Size: 939 Bytes

Versions: 19

Compression:

Stored size: 939 Bytes

Contents

Benchmark.ips do |x|
  %x{
    const c_foo = 'foo'
    const v_foo = 'foo'
    const cfoo = Symbol('foo')
    var vfoo = Symbol('foo')
    const cgfoo = Symbol.for('foo')
    var vgfoo = Symbol.for('foo')

    var o = {}
    o[cfoo] = 1
    o[cgfoo] = 1
    o[c_foo] = 1
    o[vfoo] = 1

    let a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0
  }

  x.report('const string ref') do
    `a1 += o[c_foo]`
  end

  x.report('var string ref') do
    `a2 += o[v_foo]`
  end

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

  x.report('const global symbol') do
    `a4 += o[cgfoo]`
  end

  x.report('var global symbol') do
    `a5 += o[vgfoo]`
  end

  x.report('const symbol') do
    `a6 += o[cfoo]`
  end

  x.report('var symbol') do
    `a6 += o[vfoo]`
  end

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

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

  x.time = 10

  x.compare!
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.8.2 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.8.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.8.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.8.0.beta1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.7.4 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.8.0.alpha1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.7.3 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.7.2 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.7.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.7.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.7.0.rc1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.6.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.6.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.6.0.rc1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.6.0.alpha1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.5.1 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.5.0 benchmark-ips/bm_js_symbols_vs_strings.rb
opal-1.5.0.rc1 benchmark-ips/bm_js_symbols_vs_strings.rb