Project

General

Profile

Feature #10302

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

Will commit in a few days. 

 In some common cases, `compat_tbl` compat_tbl is unused in `dump_arg`/`load_arg`, 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 
 ~~~

Back