ruby-changes:25249
From: nagachika <ko1@a...>
Date: Wed, 24 Oct 2012 00:54:32 +0900 (JST)
Subject: [ruby-changes:25249] nagachika:r37300 (trunk): * ChangeLog: fix typos of r37293.
nagachika 2012-10-24 00:54:20 +0900 (Wed, 24 Oct 2012) New Revision: 37300 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37300 Log: * ChangeLog: fix typos of r37293. Modified files: trunk/ChangeLog Index: ChangeLog =================================================================== --- ChangeLog (revision 37299) +++ ChangeLog (revision 37300) @@ -25,20 +25,20 @@ Tue Oct 23 12:57:29 2012 Koichi Sasada <ko1@a...> * vm_core.h, vm_insnhelper.c, vm_eval.c (OPT_CALL_CFUNC_WITHOUT_FRAME): - add a new otpimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'. + add a new optimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'. This optimization makes all cfunc method calls `frameless', which - is fster than ordinal cfunc method call. + is faster than ordinal cfunc method call. If `frame' is needed (for example, it calls another method with `rb_funcall()'), then build a frame. In other words, this optimization delays frame building. However, to delay the frame building, we need additional overheads: (1) Store the last call information. - (2) Check the delayed frame buidling before the frame is needed. + (2) Check the delayed frame building before the frame is needed. (3) Overhead to build a delayed frame. rb_thread_t::passed_ci is storage of delayed cfunc call information. (1) is lightweight because it is only 1 assignment to `passed_ci'. To achieve (2), we modify GET_THREAD() to check `passed_ci' every - time. It causes 10% overhead on my envrionment. + time. It causes 10% overhead on my environment. This optimization only works for cfunc methods which do not need their `frame'. After evaluation on my environment, this optimization does not -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/