From 5547c65bdf772b23fade854b3cc281e7d2a7e1b4 Mon Sep 17 00:00:00 2001 From: samuel Date: Tue, 20 Nov 2018 10:17:08 +0000 Subject: Rename fiber chain benchmark. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- benchmark/fiber_chain.rb | 40 ++++++++++++++++++++++++++++++++++++++++ benchmark/vm2_fiber_chain.rb | 40 ---------------------------------------- 2 files changed, 40 insertions(+), 40 deletions(-) create mode 100755 benchmark/fiber_chain.rb delete mode 100755 benchmark/vm2_fiber_chain.rb diff --git a/benchmark/fiber_chain.rb b/benchmark/fiber_chain.rb new file mode 100755 index 0000000000..7e0a7f9d45 --- /dev/null +++ b/benchmark/fiber_chain.rb @@ -0,0 +1,40 @@ +# Check performance of fiber creation and transfer. + +def make_link(previous) + Fiber.new do + while message = previous.resume + Fiber.yield(message) + end + end +end + +def make_chain(length, &block) + chain = Fiber.new(&block) + + (length - 1).times do + chain = make_link(chain) + end + + return chain +end + +def run_benchmark(length, repeats, message = :hello) + chain = nil + + chain = make_chain(length) do + while true + Fiber.yield(message) + end + end + + repeats.times do + abort "invalid result" unless chain.resume == message + end +end + +n = (ARGV[0] || 1000).to_i +m = (ARGV[1] || 1000).to_i + +5.times do + run_benchmark(n, m) +end diff --git a/benchmark/vm2_fiber_chain.rb b/benchmark/vm2_fiber_chain.rb deleted file mode 100755 index 7e0a7f9d45..0000000000 --- a/benchmark/vm2_fiber_chain.rb +++ /dev/null @@ -1,40 +0,0 @@ -# Check performance of fiber creation and transfer. - -def make_link(previous) - Fiber.new do - while message = previous.resume - Fiber.yield(message) - end - end -end - -def make_chain(length, &block) - chain = Fiber.new(&block) - - (length - 1).times do - chain = make_link(chain) - end - - return chain -end - -def run_benchmark(length, repeats, message = :hello) - chain = nil - - chain = make_chain(length) do - while true - Fiber.yield(message) - end - end - - repeats.times do - abort "invalid result" unless chain.resume == message - end -end - -n = (ARGV[0] || 1000).to_i -m = (ARGV[1] || 1000).to_i - -5.times do - run_benchmark(n, m) -end -- cgit v1.2.3