[m-dev.] where the .NET compiler is slow

Peter Ross pro at missioncriticalit.com
Thu Feb 27 01:20:19 AEDT 2003


On Wed, Feb 26, 2003 at 09:49:43PM +1100, Fergus Henderson wrote:
> On 26-Feb-2003, Peter Ross <pro at missioncriticalit.com> wrote:
> > I just did a simple analysis of the compile time of hello.m when using
> > the compiler built in the il grade.
> > 
> > Here are the 3 sections which consume the most time
> >     - Checking typeclass instances (53%)
> >     - Conversion of parse tree to HLDS (18%)
> >     - RTTI initialization (12%)
> > 
> > I have no idea why the typechecking is so slow.
> 
> It is probably related to --intermodule-optimization.
> We're probably reading in a lot of typeclass instance declarations
> from `.opt' files.  There's a similar effect for the C back-end:
> checking typeclass instances is responsible for more than 20% of the
> compilation time for `mmc --intermodule-optimization -C hello.m'.
> 
Actually I have been searching some more and I have tracked it down.

The significantly slow area is dead predicate elimination (phase 02b).
In particular the deletion of all the pred_infos from the
predicate_table.  I am currently about to test a change where rather
than deleting everything from the table we build a new table from
scratch.

--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list