Feature #10302
[PATCH] marshal.c: lazy compat_tbl allocation
Description
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