[Mono-dev] Serialization performance + remoting

pablosantosluac pablosantosluac at terra.es
Thu Aug 2 16:00:10 EDT 2007


Hi,

I'd like to get some tips on how to speed up object serialization. In my 
current testing scenario I'm serializing about 7400 objects (references) 
(which in turn contain about 3 objects each), and in my laptop it takes 
about 1500ms to complete.

Well, AFAIK if you get rid of Equals and GetHashCode methods on the objects 
to be serialized you can improve performance. I checked it and it actually 
happens.

My problem is that I have a code fragment on the server which takes 
(measured at the client) about 2seconds to finish. Well, about 500ms is 
actual processing, the rest is the framework doing serialization.

Running with the profiler I found out that most of the time is being spent 
in a class called System.Runtime.Serialization.ObjectIDGenerator. It is 
actually trying to locate which objects are already serialized. I run with 
mono and got almost the same results (ok , I didn't run with the profiler 
but got more or less the same results in terms of timing).

So, it seems the process gets more affected by the number of objects to be 
serialized than the size of data.

Because the people who actually implemented both serialization and remoting 
are in this list :-) I'd like to ask them to share with us some tips to 
improve performance in serialization/remoting: I don't know, maybe always 
reduce the number of objects involved (unwrap the structures into 
communication specific ones), get rid of some methods, avoid some data 
types... whatever...

Thanks!

pablo 




More information about the Mono-devel-list mailing list