Project

General

Profile

Actions

Feature #10302

closed

[PATCH] marshal.c: lazy compat_tbl allocation

Added by normalperson (Eric Wong) over 9 years ago. Updated almost 9 years ago.

Status:
Closed
Target version:
-
[ruby-core:65305]

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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0