From: Kouhei S. <ko...@co...> - 2006-05-27 04:15:57
|
須藤です. 私はあまり効率にこだわらないタイプです.ごめんなさい. In <200...@to...> "[ruby-gnome2-devel-ja] rbgobj_closure.c について質問" on Sat, 27 May 2006 13:01:00 +0900 (JST), Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > > #define CALLBACK_KEY rb_str_new2("callback") > > #define EXTRA_ARGS_KEY rb_str_new2("extra_args") > > としていますが、これだと CALLBACK_KEY や EXTRA_ARGS_KEY が使われるごとに > rb_str_new2することになって効率が悪いのではないでしょうか? 常にメモリ上にもっておくことが嫌だったのでこうしました. こだわっていないのでグローバルに持つようにしてもらってかまい ません. > > 2006-04-15 Kouhei Sutou <ko...@co...> > > > > * src/rbgobj_closure.c (rclosure_marshal, rclosure_marshal_body): > > Changed an argument type to VALUE from struct marshal_arg *. > > この変更は何のためなのでしょうか? VALUEにキャストしたりして強引(でもないですが)に呼び出すの が気持ち悪かったのでこうしました. > 以前の struct marshal_arg をスタックに確保するコードに比べて、 > ヒープに struct marshal_arg を確保する分遅くなります。 そういうことは全然考えていませんでした.revertしてかまいませ ん. |