Sha256: 718fb43a36e430f7bd65e52c6b76e90a68715614842ae468c82719a4e0d5bd3a

Contents?: true

Size: 562 Bytes

Versions: 87

Compression:

Stored size: 562 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

def bm(fibers, iterations)
  count = 0
  t_pre = Time.now
  fibers.times do
    spin do
      iterations.times do
        snooze
        count += 1
      end
    end
  end
  t0 = Time.now
  Fiber.current.await_all_children
  dt = Time.now - t0
  puts "#{[fibers, iterations].inspect} setup: #{t0 - t_pre}s count: #{count} #{count / dt.to_f}/s"
end

GC.disable

bm(1, 1_000_000)
bm(10, 100_000)
bm(100, 10_000)
bm(1_000, 1_000)
bm(10_000, 100)

# bm(100_000,    10)
# bm(1_000_000,   1)

Version data entries

87 entries across 87 versions & 1 rubygems

Version Path
polyphony-1.6 examples/performance/multi_snooze.rb
polyphony-1.5 examples/performance/multi_snooze.rb
polyphony-1.4 examples/performance/multi_snooze.rb
polyphony-1.3 examples/performance/multi_snooze.rb
polyphony-1.2.1 examples/performance/multi_snooze.rb
polyphony-1.2 examples/performance/multi_snooze.rb
polyphony-1.1.1 examples/performance/multi_snooze.rb
polyphony-1.1 examples/performance/multi_snooze.rb
polyphony-1.0.2 examples/performance/multi_snooze.rb
polyphony-1.0.1 examples/performance/multi_snooze.rb
polyphony-1.0 examples/performance/multi_snooze.rb
polyphony-0.99.6 examples/performance/multi_snooze.rb
polyphony-0.99.5 examples/performance/multi_snooze.rb
polyphony-0.99.4 examples/performance/multi_snooze.rb
polyphony-0.99.3 examples/performance/multi_snooze.rb
polyphony-0.99.2 examples/performance/multi_snooze.rb
polyphony-0.99.1 examples/performance/multi_snooze.rb
polyphony-0.99 examples/performance/multi_snooze.rb
polyphony-0.98 examples/performance/multi_snooze.rb
polyphony-0.97 examples/performance/multi_snooze.rb