[#41918] [Feature #3647] Array#sample(n, replace=false) — Kenta Murata <redmine@...>

Feature #3647: Array#sample(n, replace=false)

11 messages 2010/08/03

[#41966] [Bug #3673] PTY.getpty with IO.pipe doesn't finish on FreeBSD — Yui NARUSE <redmine@...>

Bug #3673: PTY.getpty with IO.pipe doesn't finish on FreeBSD

9 messages 2010/08/10

[#41969] [Feature #3675] String#prepend, String#>> — Sora Harakami <redmine@...>

Feature #3675: String#prepend, String#>>

15 messages 2010/08/10
[#41976] Re: [Feature #3675] String#prepend, String#>> — Yukihiro Matsumoto <matz@...> 2010/08/10

まつもと ゆきひろです

[#41974] Re: [ruby-cvs:36157] Ruby:r28955 (trunk): * complex.c (nucomp_to_[ifr]): don't allow complex with in-exact — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

7 messages 2010/08/10

[#42003] WEBrickに関するセキュリティ修正 (CVE-2010-0541) — Hideki Yamane <henrich@...>

12 messages 2010/08/11

[#42090] Math::atan2(0, 0) on ruby 1.9.2 — KUBO Takehiro <kubo@...>

久保です。

18 messages 2010/08/22
[#42092] Re: Math::atan2(0, 0) on ruby 1.9.2 — Kenta Murata <muraken@...> 2010/08/22

むらたです。

[#42166] Ruby'sライセンスの、BSDLとのデュアルライセンスへの変更 — "NARUSE, Yui" <naruse@...>

Ruby's ライセンスは BSDL と Ruby's のデュアルライセンスになります。

14 messages 2010/08/31

[ruby-dev:42043] Re: GC::profiler.report for large memory.

From: Narihiro Nakamura <authornari@...>
Date: 2010-08-16 09:51:33 UTC
List: ruby-dev #42043
nari です。

2010年8月16日14:18 Tomoaki NISHIYAMA <tomoakin@kenroku.kanazawa-u.ac.jp>:
> バグと言っていいのか分かりませんが、
> たくさんメモリーを使ってから
> GC::profiler.reportを呼ぶと、
> in `report': integer 6411976704 too big to convert to `int' (RangeError)
> といっておこられました。
> 負の数はなさそうなので、unsigned longにするパッチを作りました。
> 結果は
> GC 4 invokes.
> Index    Invoke Time(sec)       Use Size(byte)     Total Size(byte)
> Total Object                    GC Time(ms)
>    1              63.975            800157160           6411943936
>  160063786      6110.07100000000536965672
> のように出ています。一回しかないのは、GC.disable; 仕事一杯;GC.enable;GC.start
> のシーケンスで実行しているのでいいです。
> # 停止時間はそれなりにあっても良いけどN GbytesまでGCしないとかで、スループットが上がると嬉しい人。

ご報告ありがとうございます。パッチを当てておきます。

> GC 4 invokesの4回って言うのはGC.disableのような呼び出しも数えているんですかね??

ここは総GC回数を表示しています(GC.countと同じですね)。
GC.disableの前に3回GCが動いているようです。

> $ diff -u  ruby-1.9.2-rc2/gc.c ruby-1.9.2-rc2p/gc.c
> --- ruby-1.9.2-rc2/gc.c 2010-06-06 23:46:39.000000000 +0900
> +++ ruby-1.9.2-rc2p/gc.c        2010-08-16 13:31:08.000000000 +0900
> @@ -3091,11 +3091,11 @@
>        rb_str_cat2(result, "Index    Invoke Time(sec)       Use Size(byte)
>   Total Size(byte)         Total Object                    GC Time(ms)\n");
>        for (i = 0; i < (int)RARRAY_LEN(record); i++) {
>            VALUE r = RARRAY_PTR(record)[i];
> -           rb_str_catf(result, "%5d %19.3f %20d %20d %20d %30.20f\n",
> +           rb_str_catf(result, "%5d %19.3f %20lu %20lu %20lu %30.20f\n",
>                        i+1, NUM2DBL(rb_hash_aref(r,
> ID2SYM(rb_intern("GC_INVOKE_TIME")))),
> -                       NUM2INT(rb_hash_aref(r,
> ID2SYM(rb_intern("HEAP_USE_SIZE")))),
> -                       NUM2INT(rb_hash_aref(r,
> ID2SYM(rb_intern("HEAP_TOTAL_SIZE")))),
> -                       NUM2INT(rb_hash_aref(r,
> ID2SYM(rb_intern("HEAP_TOTAL_OBJECTS")))),
> +                       NUM2ULONG(rb_hash_aref(r,
> ID2SYM(rb_intern("HEAP_USE_SIZE")))),
> +                       NUM2ULONG(rb_hash_aref(r,
> ID2SYM(rb_intern("HEAP_TOTAL_SIZE")))),
> +                       NUM2ULONG(rb_hash_aref(r,
> ID2SYM(rb_intern("HEAP_TOTAL_OBJECTS")))),
>                        NUM2DBL(rb_hash_aref(r,
> ID2SYM(rb_intern("GC_TIME"))))*1000);
>        }
>  #if GC_PROFILE_MORE_DETAIL
>
> --
> Tomoaki NISHIYAMA
>
> Advanced Science Research Center,
> Kanazawa University,
> 13-1 Takara-machi,
> Kanazawa, 920-0934, Japan
>
>
>
>



-- 
Narihiro Nakamura (nari)

In This Thread

Prev Next