[Fwd: Re: [Mono-devel-list] System.Web/System.Web.UI - patch (code synchronization between Mono and Mainsoft)]

Ilya Kharmatsky ilyak at mainsoft.com
Sat Jun 11 09:41:46 EDT 2005



-------- Original Message --------
Subject: 	Re: [Mono-devel-list] System.Web/System.Web.UI - patch (code 
synchronization between Mono and Mainsoft)
Date: 	Sat, 11 Jun 2005 15:35:32 +0300
From: 	Ilya Kharmatsky <ilyak at mainsoft.com>
To: 	Ben Maurer <bmaurer at ximian.com>
References: 	<42A6D263.8000505 at mainsoft.com> 
<1118358334.29906.14.camel at localhost.localdomain> 
<1118360879.8697.78.camel at omega.maurer> 
<dd99b8c805061010446a5b3bdb at mail.gmail.com> 
<42AA0B13.3090809 at mainsoft.com> <1118440926.9091.12.camel at omega.maurer> 
<42AA185C.6050507 at mainsoft.com> <1118444966.9091.21.camel at omega.maurer> 
<42AA8806.4000407 at mainsoft.com> <1118473290.7971.55.camel at linux.site>





Ben Maurer wrote:

>On Sat, 2005-06-11 at 09:43 +0300, Ilya Kharmatsky wrote:
>  
>
>>>  
>>>      
>>>
>>In "empty page" benchmark - under heavy stress - it took 3-5% of
>>overall server side job.
>>I'm talking about "empty page", where no too much flows works. 
>>    
>>
>
>Wow. How much slower are you on a raw benchmark of accessing a struct
>array?
>  
>
"Accessing" is not a point. The initialization of such array is root of 
troubles. I have no raw benchmark
but this cost will be proportional to length of array * "new". Since, 
currently I'm on vocation - I cannot
run it and say you exact numbers.

>Given those numbers, it seems like struct member access is a few orders
>of magnitude slower than it should be. Sounds like something that needs
>to be fixed at the source... A 3-5% improvement on web requests makes
>for a nice incentive!
>
>  
>
Since each request - created new instanced of these arrays - we got the 
problem.

>>>BTW, doesn't this show up with Hashtable, which also uses an array of
>>>structs?
>>>
>>>  
>>>      
>>>
>>In Grasshopper we are using completely different implementation of
>>Hashtable (BTW our 
>>implementation doesn't use structs and works faster then mono's
>>original hashtable and msft
>>hashtable).
>>    
>>
>
>How about in terms of memory usage? 
>
I don't know exact numbers - but it shouldn't be a problem.

>Care to share? Have benchmarks?
>  
>
I have no benchmarks currently , it depends also on operation (Add, 
Remove, ContainsKey).
When I'll be back in office I'll send the benchmarks and code - but our 
code has been strongly
influenced by  : 
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap.html

(you can download code from here:
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html
check "installation" part)

As I told, when I'll return to office - I'll send our version of 
Hashtable.cs

Ilya.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20050611/27ed8ad6/attachment.html 


More information about the Mono-devel-list mailing list