mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* benchmark/bm_vm4_pipe.rb: Add two new benchmark for GVL
performance. They was written by Koichi Sasada. * benchmark/bm_vm4_thread_pass.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e4ba4b79b6
commit
3c24bc37a0
3 changed files with 38 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Fri Apr 29 10:43:09 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
|
||||||
|
|
||||||
|
* benchmark/bm_vm4_pipe.rb: Add two new benchmark for GVL
|
||||||
|
performance. They was written by Koichi Sasada.
|
||||||
|
* benchmark/bm_vm4_thread_pass.rb: ditto.
|
||||||
|
|
||||||
Fri Apr 29 10:25:31 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
|
Fri Apr 29 10:25:31 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
|
||||||
|
|
||||||
* vm_method.c (rb_clear_cache_by_class): Revert r29673. It made
|
* vm_method.c (rb_clear_cache_by_class): Revert r29673. It made
|
||||||
|
|
17
benchmark/bm_vm4_pipe.rb
Normal file
17
benchmark/bm_vm4_pipe.rb
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Mesure small and plenty pipe read/write.
|
||||||
|
# A performance may depend on GVL implementation.
|
||||||
|
|
||||||
|
lmax = 1_000_000
|
||||||
|
r, w = IO.pipe
|
||||||
|
[Thread.new{
|
||||||
|
lmax.times{
|
||||||
|
w.write('a')
|
||||||
|
}
|
||||||
|
p "w:exit"
|
||||||
|
}, Thread.new{
|
||||||
|
lmax.times{
|
||||||
|
r.read(1)
|
||||||
|
}
|
||||||
|
p "r:exit"
|
||||||
|
}].each{|t| t.join}
|
||||||
|
|
15
benchmark/bm_vm4_thread_pass.rb
Normal file
15
benchmark/bm_vm4_thread_pass.rb
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Plenty Thtread.pass
|
||||||
|
# A performance may depend on GVL implementation.
|
||||||
|
|
||||||
|
tmax = (ARGV.shift || 2).to_i
|
||||||
|
lmax = 2_000_000 / tmax
|
||||||
|
|
||||||
|
(1..tmax).map{
|
||||||
|
Thread.new{
|
||||||
|
lmax.times{
|
||||||
|
Thread.pass
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.each{|t| t.join}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue