[前][次][番号順一覧][スレッド一覧][生データ]

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  ]