[Mono-dev] JIT and Inlining - why doesn't it happen?

Alan McGovern alan.mcgovern at gmail.com
Wed Apr 30 17:11:37 EDT 2008


I recently started doing a bit of optimisation work on the
hashing/cryptography classes in mono. When working on the managed SHA256
class[1], i noticed that mono isn't inlining what i'd consider some *very*
simple methods.

The helper methods which do the bitshifting (Ro0, Ro1, Ch, Maj etc) aren't
inlined! Each of these methods is only called once in the code. By manually
inlining those method calls, performance increased significantly - about
70%. Why isn't mono inlining these methods? Can mono be made inline these?

Alan.

[1]
http://anonsvn.mono-project.com/viewcvs/trunk/mcs/class/corlib/System.Security.Cryptography/SHA256Managed.cs?rev=46462&view=markup
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20080430/63f7aa7e/attachment-0001.html 


More information about the Mono-devel-list mailing list