Les DynamicObjects de Golo en version sur-vitaminée
Juste une petite news rapide sur Golo.
Il y a quelques jours je prĂ©sentais sur ce blog diffĂ©rentes façons de vivre sans les classes : âGolo, en attendant les classesâ. A la fin du post, je faisais un petit bench en concluant que mon truc prĂ©fĂ©rĂ© dans Golo, le DynamicObject, nâĂ©tait clairement pas optimisĂ© par rapport aux structs (qui viennent juste dâapparaĂźtre dans Golo) et mĂȘme si le DynamicObject est trĂšs puissant, il nâest pas rapide, et donc pas conseillĂ©.
Et bien, le Docteur me fait mentir. LâimplĂ©mentation des DynamicObjects a Ă©tĂ© revue et câest testable depuis toute Ă lâheure. Donc ni une ni 2, je rentre Ă la maison pour tester. AprĂšs un git fetch jponge
, un git checkout wip/dynamic-object-performance
et enfin un rake special:bootstrap
, je relance mon bench et lĂ Miracle :
duration for 100000 DynamicHumans : 975 ms
duration for 100000 FakeHumans : 716 ms
duration for 100000 StructHumans : 272 ms
contre, (avec la version précédente de Golo) :
duration for 100000 DynamicHumans : 11840 ms
duration for 100000 FakeHumans : 738 ms
duration for 100000 StructHumans : 224 ms
Les DynamicObjects sont devenus 12 fois plus rapides et redeviennent donc fréquentables.
Iâm happy ;) thx Doc.
Tweet