On Fri, Nov 30, 2012 at 11:39 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi,

Based on feedback by Norbert Hartl, Stuart Herring and Dale Hendrichs (thank you) I improved the current STON version a bit.

� � � � http://ss3.gemstone.com/ss/STON
� � � � https://github.com/svenvc/ston

Changelog:

� � � � A nasty cycle bug was fixed
� � � � Performance was improved, especially for large structures.
� � � � Some implementation changes (recursion done using a stack, stonProcessSubObjects: optimized using stonContainsSubObjects)


Yes, using a stack is also a good idea :)
Good to see you are tacking some of the Fuel code/ideas to improve STON. It is awesome to have both, �a fast binary and text serializers :)�

I did some stress/performance testing/tuning. Using

� � � � STONTestMap classTreeExtended.

to generate a structure mimicing the class hierarchy, with objects for all classes, about 7000 in my image and all methods, about 64000 in my image, with super/subclass and method owner links to create cycles. This results in a 7 Mb .ston file.

The normal code, serializes this in 28 seconds and materializes it in 11.5 seconds.
The 'fast' versions (using ZnBuffered[Write|Read]Streams and Fuel Large Datastructures) does it in 1.1 and 3.8 seconds respectively.

New users are always welcome.

Sven

--
Sven Van Caekenberghe
http://stfx.eu
Smalltalk is the Red Pill







--
Mariano
http://marianopeck.wordpress.com