Mutex |   | 55% |   | 67% | 5 | 17 | 21 | 54 | 2 | 11 | 0 | 1 |
Queue |   | 66% |   | 50% | 9 | 24 | 12 | 49 | 4 | 18 | 0 | 1 |
ConditionVariable |   | 69% |   | 65% | 7 | 17 | 8 | 44 | 1 | 7 | 0 | 1 |
Queue.INVOKER.i.0.1.push |  | 0% |  | 0% | 4 | 4 | 0 | 0 | 2 | 2 | 1 | 1 |
ConditionVariable.INVOKER.i.0.1.wait_ruby |  | 0% |  | 0% | 4 | 4 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.i.sleep |  | 0% | | n/a | 3 | 3 | 0 | 0 | 3 | 3 | 1 | 1 |
Queue.INVOKER.i.pop |  | 0% | | n/a | 3 | 3 | 0 | 0 | 3 | 3 | 1 | 1 |
SizedQueue.INVOKER.i.1.0.initialize |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
ConditionVariable.INVOKER.s.0.0.newInstance |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
SizedQueue.INVOKER.i.1.0.max_set |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.i.0.0.synchronize |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.s.0.0.newInstance |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
ThreadLibrary |   | 48% | | n/a | 1 | 3 | 1 | 7 | 1 | 3 | 0 | 1 |
Queue.INVOKER.i.0.0.num_waiting |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.i.0.0.locked_p |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Queue.INVOKER.i.0.0.length |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Queue.INVOKER.i.0.0.empty_p |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
ConditionVariable.INVOKER.i.0.0.broadcast |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
SizedQueue.INVOKER.i.0.0.clear |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Queue.INVOKER.i.0.0.clear |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Queue.INVOKER.i.0.0.initialize |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Queue.INVOKER.i.0.0.shutdown |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.i.0.0.unlock |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.i.0.0.try_lock |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
ConditionVariable.INVOKER.i.0.0.signal |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Queue.INVOKER.i.0.0.marshal_dump |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
SizedQueue.INVOKER.i.0.0.max |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
ConditionVariable.INVOKER.i.0.0.marshal_dump |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
Mutex.INVOKER.i.0.0.lock |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
ConditionVariable.new ObjectAllocator() {...} |   | 33% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
Mutex.new ObjectAllocator() {...} |   | 33% | | n/a | 1 | 2 | 1 | 2 | 1 | 2 | 0 | 1 |
SizedQueue |  | 100% |  | 100% | 0 | 8 | 0 | 21 | 0 | 7 | 0 | 1 |
Queue.new RubyThread.Task() {...} |  | 100% |   | 67% | 2 | 6 | 0 | 8 | 0 | 3 | 0 | 1 |
Queue.new RubyThread.Task() {...} |  | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 0 | 1 |
SizedQueue.new ObjectAllocator() {...} |  | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
Queue.new ObjectAllocator() {...} |  | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |