[Mono-dev] Serialization performance + remoting
pablosantosluac at terra.es
Fri Aug 3 07:32:00 EDT 2007
I've just run some tests comparing mono to .net. It is exaclty the same code
compiled with .NET but run with .NET and mono. The test case is a server
(actually the plastic server) with the data cached and a client. So only
serialization/deserialization play the game, no other processing is
required. The data is about 2Mb. The test is run on a 1.5GHz Pentium M
laptop with 1.5GB Ram.
The time is average time after 10 runs.
mono server + mono client -> 630ms
mono server + .net client -> 721 ms
.net server + .net client -> 1150 ms
.net server + mono client -> 980 ms
So it looks like mono serialization is much faster.
I'm afraid the rest of the code is a bit slower running with Mono than .NET
on my small test case (not the one I showed but another one not caching
data). One question: is it recommended to compile with Mono to get better
perfomance? I guess the answer but I just want to be sure.
----- Original Message -----
From: "pablosantosluac" <pablosantosluac at terra.es>
To: <mono-devel-list at lists.ximian.com>; "Robert Jordan" <robertj at gmx.net>
Sent: Friday, August 03, 2007 12:52 PM
Subject: Re: [Mono-dev] Serialization performance + remoting
> Thanks Robert.
> So, you mean it is better to pass an array of objects than actually a
> Ok, I was already using arrays but I'll take it into account...
> ----- Original Message -----
> From: "Robert Jordan" <robertj at gmx.net>
> To: <mono-devel-list at lists.ximian.com>
> Sent: Friday, August 03, 2007 10:52 AM
> Subject: Re: [Mono-dev] Serialization performance + remoting
>> Hi Pablo,
>> pablosantosluac wrote:
>>> Because the people who actually implemented both serialization and
>>> 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
>>> reduce the number of objects involved (unwrap the structures into
>>> communication specific ones), get rid of some methods, avoid some data
>>> types... whatever...
>> Employing a remoting facade is the way to go, IMHO, even if it's
>> not that hype. Try to keep the data exchange classes as flat as possible
>> (struct-like, avoid lists [replace them with typed arrays], etc.).
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
More information about the Mono-devel-list