From: janmayjuldec-programming@... Date: 2015-01-21T14:48:56+00:00 Subject: [ruby-core:67724] [ruby-trunk - Bug #10761] Marshal.dump 100% slower in 2.2.0 vs 2.1.5 Issue #10761 has been updated by David Jenkins. File dataset_dump.txt added File better_slow_marshal.rb added I have an even better repro (attached) which yielded the following results: 2.1.5 user system total real Marshal Dump 4.250000 0.080000 4.330000 ( 4.682933) Marshal Dump 4.440000 0.040000 4.480000 ( 4.613776) Marshal Dump 4.500000 0.050000 4.550000 ( 4.717084) 2.2.0 user system total real Marshal Dump 13.390000 0.070000 13.460000 ( 13.742177) Marshal Dump 14.540000 0.090000 14.630000 ( 14.884479) Marshal Dump 13.580000 0.060000 13.640000 ( 13.968422) ---------------------------------------- Bug #10761: Marshal.dump 100% slower in 2.2.0 vs 2.1.5 https://bugs.ruby-lang.org/issues/10761#change-51151 * Author: David Jenkins * Status: Open * Priority: High * Assignee: * ruby -v: 2.2.0 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- 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) -- https://bugs.ruby-lang.org/