summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-26 08:28:05 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-26 08:28:05 +0000
commit39fd13bc5ce67a013d54eab99a4783a6cb539ba5 (patch)
treeac475721957e504886a5d28f195351238e7b114a
parent36b476cd1e24f0f0b472d86cdf422f5e2085b7f5 (diff)
* 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
-rw-r--r--ChangeLog8
-rw-r--r--ext/objspace/objspace_dump.c1
2 files changed, 8 insertions, 1 deletions
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 <shyouhei@ruby-lang.org>
+
+ * 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 <e@80x24.org>
* 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);