From 39fd13bc5ce67a013d54eab99a4783a6cb539ba5 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sat, 26 Jul 2014 08:28:05 +0000 Subject: [PATCH] * ext/objspace/objspace_dump.c (dump_append): avoid fflush. because dump_append_string_value() iterates over each chars, fflush()-ing here effectively issues system calls on every single bytes exist in a ruby process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ ext/objspace/objspace_dump.c | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index afd3d56373..32ed3e9787 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sat Jul 26 17:22:14 2014 URABE Shyouhei + + * ext/objspace/objspace_dump.c (dump_append): avoid fflush. + + because dump_append_string_value() iterates over each chars, + fflush()-ing here effectively issues system calls on every single + bytes exist in a ruby process. + Sat Jul 26 16:55:18 2014 Eric Wong * iseq.h (struct iseq_compile_data_storage): reduce overhead diff --git a/ext/objspace/objspace_dump.c b/ext/objspace/objspace_dump.c index 076d4fbaa1..e13cc39a6c 100644 --- a/ext/objspace/objspace_dump.c +++ b/ext/objspace/objspace_dump.c @@ -43,7 +43,6 @@ dump_append(struct dump_config *dc, const char *format, ...) if (dc->stream) { vfprintf(dc->stream, format, vl); - fflush(dc->stream); } else if (dc->string) rb_str_vcatf(dc->string, format, vl);