From: Eric Wong Date: 2012-12-15T02:38:18+09:00 Subject: [ruby-core:50899] Re: [ruby-trunk - Bug #7560][Open] Process.kill incurs 100ms cost when threads exist "tmm1 (Aman Gupta)" wrote: > Issue #7560 has been reported by tmm1 (Aman Gupta). > > ---------------------------------------- > Bug #7560: Process.kill incurs 100ms cost when threads exist > https://bugs.ruby-lang.org/issues/7560 > > Author: tmm1 (Aman Gupta) > Status: Open > Priority: Normal > Assignee: nobu (Nobuyoshi Nakada) > Category: > Target version: > ruby -v: ruby 2.0.0dev (2012-12-14 trunk 38379) [x86_64-darwin12.2.0] > > > % ruby -rbenchmark -e' puts Benchmark.measure{ Process.kill(0, Process.pid) } ' > 0.000000 0.000000 0.000000 ( 0.000011) > > % ruby -rbenchmark -e' Thread.new{sleep}; puts Benchmark.measure{ Process.kill(0, Process.pid) } ' > 0.000000 0.000000 0.000000 ( 0.101127) This is the call to rb_thread_polling(). That said, I do not understand why rb_thread_polling() exists. It was probably only for green threads in 1.8 and got carried over. If so, I think all calls to it can be removed and the function can be made a no-op. kosaki/ko1: what do you guys think?