[Mono-dev] SHA1Managed speedups

Hector E. Gomez Morales hectoregm at gmail.com
Tue Apr 29 11:42:57 EDT 2008

Hi all:

I am working in the implementation of Git# with Igor Guerrero so we will 
be intensive users of SHA1Managed so we will like to help in anyway to 
help improve sha1 performance.


Sebastien Pouliot wrote:
> Great! :-)
> Sebastien
> p.s. there are quite a few other options possible (I mentioned Crimson
> before) within or outside Mono if you still need/want more performance
> out of SHA1.
> On Tue, 2008-04-29 at 14:36 +0100, Alan McGovern wrote:
>>>  Please remove the unsafe keyword from both methods.
>> Ah, sorry. I attached the wrong patch. Kangaroo had already pointed
>> out that i had left in the unsafe keyword as part of my copy/paste
>> from my working copy and i thought i recreated the patch when i fixed
>> that, but obviously not.
>>>  Please always provide numbers (and the test cases) with performance
>>>  patches. Also compare the results with the code already in SVN (not the
>>>  previous releases) this way we compare the patch with the gain it
>>>  provides.
>> The 'Big Win' in this patch is unrolling the first loop. I'll attach
>> some numbers later giving exact details as to where the gains are as
>> compared to SVN head.
>>>  He asked me, more than once, to consider re-rolling the
>>>  SHA1 code. This piece of code is often the largest one the JIT is likely
>>>  to compile, as since it's used for assembly names it's a performance
>>>  (JIT time) hit being transfered to most Mono applications.
>> If the JIT cost is prohibitive to making this patch acceptable, i can
>> test partial unrolling of all the loops. I should be able to cut the
>> codesize by a large proportion while still getting the majority of the
>> speed beneffits. I'll testbench that later too.
>> Thanks,
>> Alan.
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list