[#7300] resolver を呼ばない UDPsocket#recvfrom — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...>

あんまり ruby-dev な話でも無いのですが、ちょっとした機能拡張の提案なので、

12 messages 1999/07/12
[#7321] Re: resolver を呼ばない UDPsocket#recvfrom — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...> 1999/07/15

From: Toshihiko SHIMOKAWA / 下川俊彦 <toshi@csce.kyushu-u.ac.jp>

[#7313] Ruby 1.3.5 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.5 is out, check out:

59 messages 1999/07/15
[#7318] Re: Ruby 1.3.5 — WATANABE Hirofumi <watanabe@...> 1999/07/15

わたなべです.

[#7326] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/15

青山です。

[#7331] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/16

まつもと ゆきひろです

[#7340] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/16

青山です。

[#7368] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/19

まつもと ゆきひろです

[#7373] Re: Ruby 1.3.5 — Shin-ichiro Hara <sinara@...> 1999/07/19

原です。

[#7374] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/19

まつもと ゆきひろです

[#7382] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/19

青山です。

[#7386] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/21

まつもと ゆきひろです

[#7388] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/21

青山です。

[#7387] [PATCH]extconf.rb, tcltklib.c, and rubytest.rb for NetBSD — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp>

早坂@会津大学です。

10 messages 1999/07/21

[#7466] [PATCH] for djgpp — WATANABE Hirofumi <watanabe@...>

わたなべです.

21 messages 1999/07/29
[#7467] Re: [PATCH] for djgpp — Katsuyuki Komatsu <komatsu@...> 1999/07/29

小松です。

[ruby-dev:7453] [PATCH] reduce recursive calls to rb_eval()

From: EGUCHI Osamu <eguchi@...>
Date: 1999-07-27 16:06:37 UTC
List: ruby-dev #7453
えぐち@エスアンドイー です。

[ruby-list:10173] の続編のような性能向上パッチです。

内容ですが、[ruby-list:10173] では、再帰の抑制を
	『単一の文からなるブロック』
に限っていましたが、今度のパッチは
	『ブロックの最後の文』
を再帰の抑制の対象にします。
#当然従来のケースもカバーされます。

このパッチは、時間とスタックの再帰コストを節約します。

	えぐち

Index: eval.c
===================================================================
RCS file: /usr/home/eguchi/cvs.netlab.co.jp//ruby/eval.c,v
retrieving revision 1.1.1.3.2.29
diff -d -c -r1.1.1.3.2.29 eval.c
*** eval.c	1999/07/22 10:58:07	1.1.1.3.2.29
--- eval.c	1999/07/27 09:38:08
***************
*** 1730,1744 ****
  
      switch (nd_type(node)) {
        case NODE_BLOCK:
! 	if (!node->nd_next) {
! 	    node = node->nd_head;
! 	    goto again;
! 	}
! 	while (node) {
! 	    result = rb_eval(self, node->nd_head);
  	    node = node->nd_next;
  	}
! 	break;
        case NODE_POSTEXE:
  	rb_f_END();
  	nd_set_type(node, NODE_NIL); /* exec just once */
--- 1730,1742 ----
  
      switch (nd_type(node)) {
        case NODE_BLOCK:
! 	while (node->nd_next) {
! 	    rb_eval(self, node->nd_head);
  	    node = node->nd_next;
  	}
! 	node = node->nd_head;
! 	goto again;
! 
        case NODE_POSTEXE:
  	rb_f_END();
  	nd_set_type(node, NODE_NIL); /* exec just once */

In This Thread

Prev Next