Sha256: 73cd4efb9ef9f7201d292d21e092abfbb8d2c05ddf030d609e325678baf99d96

Contents?: true

Size: 680 Bytes

Versions: 117

Compression:

Stored size: 680 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

X = 1_000_000

GC.disable

STDOUT << 'Fiber.yield:      '
f = Fiber.new do
  loop { Fiber.yield }
end
t0 = Time.now
X.times { f.resume }
dt = Time.now - t0
puts format('%d/s', (X / dt))

STDOUT << 'Fiber.transfer:   '
main = Fiber.current
f = Fiber.new do
  loop { main.transfer }
end
t0 = Time.now
X.times { f.transfer }
dt = Time.now - t0
puts format('%d/s', (X / dt))

STDOUT << 'Kernel#snooze:    '
t0 = Time.now
X.times { snooze }
dt = Time.now - t0
puts format('%d/s', (X / dt))

# STDOUT << 'Kernel#sleep:     '
# t0 = Time.now
# X.times { sleep(0) }
# dt = Time.now - t0
# puts "%d/s" % (X / dt)

Version data entries

117 entries across 117 versions & 1 rubygems

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