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

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Description updated (diff)

Seems fine.

Actions #2

Updated by hsbt (Hiroshi SHIBATA) almost 9 years ago

  • Status changed from Open to Assigned

Updated by normalperson (Eric Wong) almost 9 years ago

  • Status changed from Assigned to Closed

r47756

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0