ruby-changes:7007
From: nari <ko1@a...>
Date: Tue, 12 Aug 2008 16:24:43 +0900 (JST)
Subject: [ruby-changes:7007] Ruby:r18525 (trunk): * gc.c (gc_profile_result): use rb_str_catf.
nari 2008-08-12 16:24:30 +0900 (Tue, 12 Aug 2008) New Revision: 18525 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18525 Log: * gc.c (gc_profile_result): use rb_str_catf. Modified files: trunk/ChangeLog trunk/gc.c Index: ChangeLog =================================================================== --- ChangeLog (revision 18524) +++ ChangeLog (revision 18525) @@ -1,3 +1,7 @@ +Tue Aug 12 16:23:32 2008 Narihiro Nakamura <authorNari@g...> + + * gc.c (gc_profile_result): use rb_str_catf. + Tue Aug 12 16:13:45 2008 Tanaka Akira <akr@f...> * transcode_data.h (TRANSCODE_ERROR): removed. Index: gc.c =================================================================== --- gc.c (revision 18524) +++ gc.c (revision 18525) @@ -2709,24 +2709,20 @@ { rb_objspace_t *objspace = &rb_objspace; VALUE record = gc_profile_record_get(); - VALUE result = rb_str_new2(""); + VALUE result; int i; - char buf[1024]; - if(objspace->profile.run && objspace->profile.count) { - sprintf(buf, "GC %d invokes.\n", NUM2INT(gc_count(0))); - rb_str_cat2(result, buf); + if (objspace->profile.run && objspace->profile.count) { + result = rb_sprintf("GC %d invokes.\n", NUM2INT(gc_count(0))); 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++) { + for (i = 0; i < (int)RARRAY_LEN(record); i++) { VALUE r = RARRAY_PTR(record)[i]; - memset(buf, 0, 1024); - sprintf(buf, "%5d %19.3f %20d %20d %20d %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")))), - NUM2DBL(rb_hash_aref(r, ID2SYM(rb_intern("GC_TIME"))))*100); - rb_str_cat2(result, buf); + rb_str_catf(result, "%5d %19.3f %20d %20d %20d %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")))), + NUM2DBL(rb_hash_aref(r, ID2SYM(rb_intern("GC_TIME"))))*100); } #if GC_PROFILE_MORE_DETAIL rb_str_cat2(result, "\n\n"); @@ -2734,18 +2730,19 @@ rb_str_cat2(result, "Index Allocate Increase Allocate Limit Use Slot Have Finalize Mark Time(ms) Sweep Time(ms)\n"); for (i = 0; i < (int)RARRAY_LEN(record); i++) { VALUE r = RARRAY_PTR(record)[i]; - memset(buf, 0, 1024); - sprintf(buf, "%5d %17d %17d %9d %14s %25.20f %25.20f\n", + rb_str_catf(result, "%5d %17d %17d %9d %14s %25.20f %25.20f\n", i+1, NUM2INT(rb_hash_aref(r, ID2SYM(rb_intern("ALLOCATE_INCREASE")))), NUM2INT(rb_hash_aref(r, ID2SYM(rb_intern("ALLOCATE_LIMIT")))), NUM2INT(rb_hash_aref(r, ID2SYM(rb_intern("HEAP_USE_SLOTS")))), rb_hash_aref(r, ID2SYM(rb_intern("HAVE_FINALIZE")))? "true" : "false", NUM2DBL(rb_hash_aref(r, ID2SYM(rb_intern("GC_MARK_TIME"))))*100, NUM2DBL(rb_hash_aref(r, ID2SYM(rb_intern("GC_SWEEP_TIME"))))*100); - rb_str_cat2(result, buf); } #endif } + else { + result = rb_str_new2(""); + } return result; } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/