From: normalperson@... Date: 2015-06-18T01:02:49+00:00 Subject: [ruby-core:69644] [Ruby trunk - Feature #10302] [Closed] [PATCH] marshal.c: lazy compat_tbl allocation Issue #10302 has been updated by Eric Wong. Status changed from Assigned to Closed r47756 ---------------------------------------- Feature #10302: [PATCH] marshal.c: lazy compat_tbl allocation https://bugs.ruby-lang.org/issues/10302#change-52996 * Author: Eric Wong * Status: Closed * Priority: Normal * Assignee: Eric Wong ---------------------------------------- Will commit in a few days. In some common cases, `compat_tbl` is unused in `dump_arg`/`load_arg`, so avoid malloc/free costs for the unused table. ~~~ ruby -e 'h = {a: :b}; 600000.times { Marshal.load(Marshal.dump(h)) }' before: real 0m2.458s user 0m2.450s sys 0m0.006s after: real 0m2.122s user 0m2.110s sys 0m0.011s ~~~ ---Files-------------------------------- 0001-marshal.c-lazy-compat_tbl-allocation.patch (4.26 KB) -- https://bugs.ruby-lang.org/