Skip to content

Instantly share code, notes, and snippets.

@Jared-Prime
Created May 13, 2014 16:02
Show Gist options
  • Save Jared-Prime/f9e46ae1d620b5e49989 to your computer and use it in GitHub Desktop.
Save Jared-Prime/f9e46ae1d620b5e49989 to your computer and use it in GitHub Desktop.
$ bundle exec jruby -Xjit.threshold=0 -S benchmarks/survo/runner.rb
Calculating -------------------------------------
run survo 4 i/100ms
-------------------------------------------------
run survo 115.8 (±14.7%) i/s - 564 in 5.004000s
Calculating -------------------------------------
run survo 11 i/100ms
-------------------------------------------------
run survo 128.8 (±10.9%) i/s - 638 in 5.022000s
Calculating -------------------------------------
run survo 11 i/100ms
-------------------------------------------------
run survoThreadError: unable to create new native thread
initialize at org/jruby/RubyThread.java:440
new at org/jruby/RubyThread.java:389
create_with_logging_context at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320
new at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:294
create at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:97
get at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:69
synchronize at org/jruby/ext/thread/Mutex.java:149
get at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:63
initialize at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/thread_handle.rb:10
initialize at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/actor.rb:155
new at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:188
new at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/adhearsion-2.4.0/lib/adhearsion/call.rb:24
(root) at benchmarks/survo/runner.rb:45
call at org/jruby/RubyProc.java:271
call_times at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:88
ips at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:224
each at org/jruby/RubyArray.java:1613
ips at /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:201
(root) at benchmarks/survo/runner.rb:44
times at org/jruby/RubyFixnum.java:275
(root) at benchmarks/survo/runner.rb:43
Timeout.java:219:in `killTimeoutThread': java.lang.NullPointerException
from Timeout.java:128:in `timeout'
from Timeout$INVOKER$s$timeout.gen:-1:in `call'
from CachingCallSite.java:336:in `cacheAndCall'
from CachingCallSite.java:179:in `callBlock'
from CachingCallSite.java:188:in `callIter'
from /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:144:in `chained_1_rescue_1$RUBY$SYNTHETIC__file__'
from /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:-1:in `chained_0_ensure_1$RUBY$__ensure__'
from /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:-1:in `__file__'
from /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:-1:in `__file__'
from JittedMethod.java:141:in `call'
from DefaultMethod.java:182:in `call'
from CachingCallSite.java:306:in `cacheAndCall'
from CachingCallSite.java:136:in `call'
from /usr/local/var/rbenv/versions/jruby-1.7.12/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:134:in `block_0$RUBY$__file__'
from rubyjit$Module$$register_shutdown_e598d72cb70edf4b8e9898ab114317c3a1116ce1$block_0$RUBY$__file__:-1:in `call'
from CompiledBlock19.java:159:in `yield'
from CompiledBlock19.java:87:in `call'
from Block.java:101:in `call'
from RubyProc.java:290:in `call'
from RubyProc.java:228:in `call'
from Ruby.java:3065:in `tearDown'
from Ruby.java:3049:in `tearDown'
from Main.java:294:in `internalRun'
from Main.java:217:in `run'
from Main.java:197:in `main'
$ bundle exec jruby -Xjit.threshold=0 -S benchmarks/survo/runner.rb
Calculating -------------------------------------
run survo 3 i/100ms
-------------------------------------------------
run survo 101.5 (±11.8%) i/s - 501 in 5.008000s
Calculating -------------------------------------
run survo 10 i/100ms
-------------------------------------------------
run survo 109.7 (±10.9%) i/s - 550 in 5.075000s
Calculating -------------------------------------
run survo 10 i/100ms
-------------------------------------------------
run survoThreadError: unable to create new native thread
initialize at org/jruby/RubyThread.java:459
new at org/jruby/RubyThread.java:377
__send__ at org/jruby/RubyBasicObject.java:1703
send at org/jruby/RubyKernel.java:2209
create_with_logging_context at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320
new at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:294
create at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:97
get at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:69
synchronize at org/jruby/ext/thread/Mutex.java:149
get at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:63
initialize at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/thread_handle.rb:10
initialize at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid/actor.rb:155
new at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:188
new at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/adhearsion-2.4.0/lib/adhearsion/call.rb:24
(root) at benchmarks/survo/runner.rb:45
call at org/jruby/RubyProc.java:255
call_times at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:88
ips at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:224
each at org/jruby/RubyArray.java:1617
ips at /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:201
(root) at benchmarks/survo/runner.rb:44
times at org/jruby/RubyFixnum.java:280
(root) at benchmarks/survo/runner.rb:43
Timeout.java:222:in `killTimeoutThread': java.lang.NullPointerException
from Timeout.java:129:in `timeout'
from Timeout$INVOKER$s$timeout.gen:-1:in `call'
from CachingCallSite.java:336:in `cacheAndCall'
from CachingCallSite.java:179:in `callBlock'
from CachingCallSite.java:188:in `callIter'
from /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:144:in `chained_1_rescue_1$RUBY$SYNTHETIC__file__'
from /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:-1:in `chained_0_ensure_1$RUBY$__ensure__'
from /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:-1:in `__file__'
from /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:-1:in `__file__'
from JittedMethod.java:141:in `call'
from DefaultMethod.java:170:in `call'
from CachingCallSite.java:306:in `cacheAndCall'
from CachingCallSite.java:136:in `call'
from /usr/local/var/rbenv/versions/jruby-1.7.4/lib/ruby/gems/shared/gems/celluloid-0.15.2/lib/celluloid.rb:134:in `block_0$RUBY$__file__'
from rubyjit$Module$$register_shutdown_5867C8C5A913F7F47F3CA7799F5206D83A962ACD$block_0$RUBY$__file__:-1:in `call'
from CompiledBlock19.java:159:in `yield'
from CompiledBlock19.java:87:in `call'
from Block.java:101:in `call'
from RubyProc.java:274:in `call'
from RubyProc.java:215:in `call'
from Ruby.java:2973:in `tearDown'
from Ruby.java:2957:in `tearDown'
from Main.java:282:in `internalRun'
from Main.java:221:in `run'
from Main.java:201:in `main'
$ bundle exec ruby benchmarks/survo/runner.rb
Calculating -------------------------------------
run survo 20 i/100ms
-------------------------------------------------
run survo 163.7 (±15.9%) i/s - 820 in 5.137347s
Calculating -------------------------------------
run survo 12 i/100ms
-------------------------------------------------
run survo 108.5 (±11.1%) i/s - 540 in 5.020922s
Calculating -------------------------------------
run survo/usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `start': can't create Thread (35) (Th
readError)
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `create_with_logging_context'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:294:in `start'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/timeout.rb:60:in `timeout'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid.rb:144:in `shutdown'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid.rb:131:in `block in register_shutdown'
/usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `initialize': can't create Thread (35) (ThreadError)
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `new'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `create_with_logging_context'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:294:in `new'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:97:in `create'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:69:in `block in get'
from <internal:prelude>:10:in `synchronize'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:63:in `get'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/thread_handle.rb:10:in `initialize'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:155:in `new'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid/actor.rb:155:in `initialize'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid.rb:188:in `new'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/celluloid-0.15.2/lib/celluloid.rb:188:in `new'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/adhearsion-2.4.0/lib/adhearsion/call.rb:24:in `new'
from benchmarks/survo/runner.rb:45:in `block (3 levels) in <main>'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:88:in `call'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:88:in `call_times'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:179:in `block in ips'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:160:in `each'
from /usr/local/var/rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:160:in `ips'
from benchmarks/survo/runner.rb:44:in `block in <main>'
from benchmarks/survo/runner.rb:43:in `times'
from benchmarks/survo/runner.rb:43:in `<main>'
jdavis@ibp02mJD01:~/ifbyphone/phoenix/ahn (debugging/benchmarks/runner)⚡
$ bundle exec ruby benchmarks/survo/runner.rb
Calculating -------------------------------------
run survo 35 i/100ms
-------------------------------------------------
run survo 251.5 (±16.7%) i/s - 1225 in 5.008263s
Calculating -------------------------------------
run survo/usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `start': can't create Thread: Resource tem
porarily unavailable (ThreadError)
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `create_with_logging_context'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:288:in `start'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/2.1.0/timeout.rb:82:in `block in timeout'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/2.1.0/timeout.rb:35:in `block in catch'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/2.1.0/timeout.rb:35:in `catch'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/2.1.0/timeout.rb:35:in `catch'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/2.1.0/timeout.rb:106:in `timeout'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid.rb:144:in `shutdown'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid.rb:131:in `block in register_shutdown'
/usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `initialize': can't create Thread: Resource temporarily unavai
lable (ThreadError)
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `new'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:320:in `create_with_logging_context'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:288:in `new'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:97:in `create'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:69:in `block in get'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:63:in `synchronize'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:63:in `get'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/thread_handle.rb:10:in `initialize'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:155:in `new'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:155:in `initialize'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid.rb:188:in `new'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/celluloid-0.15.2/lib/celluloid.rb:188:in `new'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/adhearsion-2.4.0/lib/adhearsion/call.rb:24:in `new'
from benchmarks/survo/runner.rb:45:in `block (3 levels) in <main>'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:88:in `call'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:88:in `call_times'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:179:in `block in ips'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:160:in `each'
from /usr/local/var/rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/benchmark-ips-1.2.0/lib/benchmark/ips.rb:160:in `ips'
from benchmarks/survo/runner.rb:44:in `block in <main>'
from benchmarks/survo/runner.rb:43:in `times'
from benchmarks/survo/runner.rb:43:in `<main>'
#!/usr/bin/env ruby
require 'rubygems'
require 'bundler/setup'
require 'benchmark/ips'
require 'pry'
require 'adhearsion'
module Adhearsion
class CallController
module Output
class AbstractPlayer
def new_output(options={})
Punchblock::Component::Output.new options
return FakeOutput.new
end
class FakeOutput
def complete_event; TheFakeness.new; end
class TheFakeness; def reason; end; end
end
end
end
end
end
class BenchmarkCall < Adhearsion::Call
def write_and_await_response(command)
true
end
end
class BenchmarkRunner < Adhearsion::CallController
def run
answer
2.times do |i|
say "Question #{i + 1}", {}
end
true
end
end
3.times do
Benchmark.ips do |ips|
ips.report("run survo") { BenchmarkRunner.new( BenchmarkCall.new ).run }
end
# NOTE: uncomment if you want to freeze the JVM and hook it up to a profiler
# sleep
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment