[Mono-list] mcs compiles on linux. Now what?

Paolo Molaro lupus@ximian.com
Fri, 8 Mar 2002 12:08:46 +0100

More profile info (note, the values are cumulative):

45-50 % of the time is spent parsing, now. miguel mentioned he had a few
ideas about ways to speed-up the parser, maybe when he wakes up
he can elaborate. Loading the file in memory at once is sure worth,
but this should probably be implemented at the IO.FileStream level.

21 % is spent in Array.Copy. One third of this time is spent in the
IsValueType checks. Here we can use the fast copy method even for
objects, not only for valuetypes, so that check should not be there, I
think: we could have a new icall the do the check or we could integrate
the chek in FastCopy (but making it return an error code that is checked
and throws an exception or falls back to the slow implementation in C#

20 % of the time is spent in the various StringBuilder.Append (this may
explain some of the parsing slowness, I think): we need to speed up that

15 % is spent in String.BoyerMoore: a dumb search is sure faster than
initializing a 65536 element skiptable :-)

These are the hotspots for now.


lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better