From: usa@... Date: 2015-02-16T14:27:10+00:00 Subject: [ruby-core:68127] [Ruby trunk - Bug #10761] [Closed] Marshal.dump 100% slower in 2.2.0 vs 2.1.5 Issue #10761 has been updated by Usaku NAKAMURA. Status changed from Open to Closed ---------------------------------------- Bug #10761: Marshal.dump 100% slower in 2.2.0 vs 2.1.5 https://bugs.ruby-lang.org/issues/10761#change-51512 * Author: David Jenkins * Status: Closed * Priority: High * Assignee: * ruby -v: 2.2.0 * Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE ---------------------------------------- Calling Marshal.dump on a complex (nested) object 100 times shows the following: 2.1.5 user system total real Marshal Dump 24.350000 0.250000 24.600000 ( 29.330294) 2.2.0 user system total real Marshal Dump 50.450000 0.140000 50.590000 ( 52.268773) To reproduce, put marshal_slow.rb and nested_ds.txt in same directory and run marshal_slow.rb. I found that Marshal.dump only shows this kind of discrepancy on deeply nested objects. The nested_ds.txt file is a dump of an object that contained a collection of sub objects of the same type. ---Files-------------------------------- nested_ds.txt (2.1 MB) marshal_slow.rb (212 Bytes) dataset_dump.txt (362 KB) better_slow_marshal.rb (239 Bytes) flonum-hash-fixup-r45384-v1@r49365.patch (2.21 KB) -- https://bugs.ruby-lang.org/