yarv-dev:652
From: SASADA Koichi <ko1 atdot.net>
Date: Tue, 04 Oct 2005 21:18:53 +0900
Subject: [yarv-dev:652] getcontext
ささだです。
Linux でベンチマークをしていて、x.times{} というプログラムで YARV が5
倍くらい遅くなってびっくりしました。
原因は yield するごとに PUSH/POP_TAG をしていて、そのときに getcontext
が動いて、そのときに sigprocmask によるシステムコールが発生してしまうか
らのようです。
setjmp を使うようにしたら、ちゃんと YARV のほうが速いです。
PUSH_TAG では getcontext を使わなければいけないのでしょうか。シグナル
周りが絡むと思うので、実現できるかよくわからないのですが。
--
SASADA Koichi at atdot dot net
--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
-> 652 2005-10-04 21:18 [ko1 atdot.net ] getcontext 653 2005-10-04 23:09 ┗[matz ruby-lang.org ]