diff --git a/benchmarks/mock_error/benchmark.rb b/benchmarks/mock_error/benchmark.rb new file mode 100644 index 00000000..00d530bb --- /dev/null +++ b/benchmarks/mock_error/benchmark.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +require_relative '../../harness/loader' + +s = "string" +run_benchmark(1) do + s.some_hopefully_unknown_method +end diff --git a/benchmarks/mock_segv/Gemfile b/benchmarks/mock_segv/Gemfile new file mode 100644 index 00000000..2fb0a3d1 --- /dev/null +++ b/benchmarks/mock_segv/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'ffi' diff --git a/benchmarks/mock_segv/Gemfile.lock b/benchmarks/mock_segv/Gemfile.lock new file mode 100644 index 00000000..b0a16796 --- /dev/null +++ b/benchmarks/mock_segv/Gemfile.lock @@ -0,0 +1,13 @@ +GEM + remote: https://rubygems.org/ + specs: + ffi (1.16.3) + +PLATFORMS + arm64-darwin-23 + +DEPENDENCIES + ffi + +BUNDLED WITH + 2.4.13 diff --git a/benchmarks/mock_segv/benchmark.rb b/benchmarks/mock_segv/benchmark.rb new file mode 100644 index 00000000..c62b7aa2 --- /dev/null +++ b/benchmarks/mock_segv/benchmark.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +require_relative '../../harness/loader' + +Dir.chdir(__dir__) +use_gemfile + +require 'ffi' + +run_benchmark(1) do + FFI::Pointer.new(42).read_int +end diff --git a/benchmarks/mock_success/benchmark.rb b/benchmarks/mock_success/benchmark.rb new file mode 100644 index 00000000..81267171 --- /dev/null +++ b/benchmarks/mock_success/benchmark.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +require_relative '../../harness/loader' + +i = 0 +run_benchmark(10) do + i = i + 1 + handle = (i % 2 == 0 ? :STDOUT : :STDERR) + Object.const_get(handle).puts sprintf("using %s", handle.to_s) + sleep 0.25 +end