[#3234] sample of TkFont class — NAGAI Hidetoshi <nagai@...>

永井@知能.九工大です.

52 messages 1998/07/08
[#3241] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/09

永井@知能.九工大です.

[#3290] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/15

永井@知能.九工大です.

[#3291] Re: sample of TkFont class — matz@... (Yukihiro Matsumoto) 1998/07/15

まつもと ゆきひろです

[#3307] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/16

永井@知能.九工大です.

[#3309] Re: sample of TkFont class — matz@... (Yukihiro Matsumoto) 1998/07/16

まつもと ゆきひろです

[#3319] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/16

永井@知能.九工大です.

[#3321] Re: sample of TkFont class — matz@... (Yukihiro Matsumoto) 1998/07/16

まつもと ゆきひろです

[#3324] Re: sample of TkFont class — NAGAI Hidetoshi <nagai@...> 1998/07/16

永井@知能.九工大です.

[#3367] Re: sample of TkFont class — Tadayoshi Funaba <tadf@...> 1998/07/22

ふなばです。

[#3369] Re: sample of TkFont class — ttate@... 1998/07/22

立石@JAISTです。

[#3370] Re: sample of TkFont class — Tadayoshi Funaba <tadf@...> 1998/07/22

ふなばです。

[#3371] Re: sample of TkFont class — ttate@... 1998/07/23

立石@JAISTです。

[#3292] exprimental release 1.1b9_31 (hopefully final) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

20 messages 1998/07/15
[#3293] Re: exprimental release 1.1b9_31 (hopefully final) — Takahiro Maebashi <maebashi@...> 1998/07/15

前橋です。

[#3294] Re: exprimental release 1.1b9_31 (hopefully final) — matz@... (Yukihiro Matsumoto) 1998/07/15

まつもと ゆきひろです

[#3295] Re: exprimental release 1.1b9_31 (hopefully final) — Takahiro Maebashi <maebashi@...> 1998/07/15

前橋です。

[ruby-dev:3317] Re: exprimental release 1.1b9_31 (hopefully final)

From: matz@... (Yukihiro Matsumoto)
Date: 1998-07-16 07:44:06 UTC
List: ruby-dev #3317
まつもと ゆきひろです

In message "[ruby-dev:3306] Re: exprimental release 1.1b9_31 (hopefully final)"
    on 98/07/16, Takahiro Maebashi <maebashi@iij.ad.jp> writes:

|前橋です。

|html-parser そのものでは長すぎるので、現象が再現できる短いスクリプトを考
|えてみました。

(略)

ありがとうございます.なるほどそういうケースを忘れてました.
結局毎回割り当てられる文字列の長さが長いので,たいしてオブジェ
クトを割り当ててないのに(よって解放するべきオブジェクトもろ
くにないのに)GCばかり呼ばれてしまうのが原因なんですね.

オブジェクトを割り当ててないのにGCを呼ぶのもばかばかしいので,
mallocしたバイト数に加えて割り当てたオブジェクト数も条件に加
えたところ実行速度が改善されたような気がします.

いかがでしょう?

--- gc.c	1998/07/15 06:12:49	1.1.1.2.2.20
+++ gc.c	1998/07/16 07:32:04
@@ -44,5 +44,11 @@
 #endif
+#define GC_NEWOBJ_LIMIT 1000
 
 static unsigned long malloc_memories = 0;
+static unsigned long alloc_objects = 0;
 
+/* for future statistics analysis. */
+static int marked = 0;
+static int freeobj = 0;
+
 void *
@@ -58,3 +64,3 @@
     malloc_memories += size;
-    if (malloc_memories > GC_MALLOC_LIMIT) {
+    if (malloc_memories > GC_MALLOC_LIMIT && alloc_objects > GC_NEWOBJ_LIMIT) {
 	gc_gc();
@@ -255,2 +258,3 @@
 	freelist = freelist->as.free.next;
+	alloc_objects++;
 	return obj;
@@ -623,2 +628,3 @@
     }
+    alloc_objects = 0;
     if (freed < FREE_MIN) {

In This Thread