"tmm1 (Aman Gupta)" ruby@tmm1.net 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?