Actions
Bug #4808
closedthread_wait_for() eats 100% of CPU power
Bug #4808:
thread_wait_for() eats 100% of CPU power
Description
いつからかは把握できていませんが (少なくとも 1.9.2p0 では発生しません),
thread_wait_for() が CPU パワーを大量に消費するようになっています.
これが原因で,Ruby/Tk も CPU を 100 % 消費してしまいます.¶
このままリリースになってしまうとかなりまずいと思いますので,
優先度 High で急ぎ報告だけあげておきます.
以下はテスト用のコードです.
make 後に ruby -r ./th_wait_for.so -e '' でお試しください.
----<th_wait_for.c>-----------------------------------------
#include "ruby.h"
void
Init_th_wait_for()
{
struct timeval t;
t.tv_sec = 0;
t.tv_usec = 10000; /* 10ms */
while(1) {
fprintf(stderr, "*");fflush(stderr);
rb_thread_wait_for(t);
}
}¶
----<extconf.rb>--------------------------------------------
require 'mkmf'
create_makefile('th_wait_for');¶
--
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学大学院情報工学研究院知能情報工学研究系知能情報メディア部門助教
Actions