Имам сложен обект, my_object, с който маршалирам
Marshal.dump(моят_обект)
Сравних ефективността на извикване на тази линия 100 пъти както в 2.1.5p273, така и в 2.2.0, и по-долу са резултатите:
2.1.5
user system total real
Marshal Dump 7.310000 0.120000 7.430000 ( 8.988470)
Marshal Dump 7.520000 0.050000 7.570000 ( 8.210356)
Marshal Dump 7.610000 0.050000 7.660000 ( 8.432685)
2.2.0
user system total real
Marshal Dump 26.480000 0.150000 26.630000 ( 29.591742)
Marshal Dump 24.100000 0.300000 24.400000 ( 28.520397)
Marshal Dump 26.210000 0.210000 26.420000 ( 29.993412)
(Изпълних бенчмарка 3 пъти за всяка версия, за да бъда изчерпателен.)
Както можете да видите, това отнема повече от 3 пъти повече време в 2.2.0 срещу 2.1.5. Насочих се към Marshal.dump, защото, използвайки ruby-prof gem, ми показа, че това е редът, който се представя зле; но не мога да намеря начин да получа методите, които самият Marshal.dump извиква в профайлъра.
Редактиране: вижте отговора ми с минимално повторение, намерено след много експерименти