Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-dev] ajc scalability (status)


A quick progress report on performance optimizations...

This table shows performance on compiles with 2 aspects and -emacssym specified (ie "ajc +2a -emacssym" from previous note):

Project Size     ajc 1.1.0   ajc 1.1.1  ajc 1.1.1
             
              CVS Head   private build
   10             x(1)       3          3

   100            x          8          7

   500            x         23         20

   1000          45        145         38

   2000         112        286         80

   4000         327        779        179



(1) I didn't measure ajc 1.1.0 in this low range.

This shows a significant improvement over CVS head, bringing compile times down below the level of 1.1.0. The changes are mostly small and self-contained, which is a testament to the soundness of Mik's basic design (it just takes a lot of profiling and measuring to find out which changes to make!).

Here's a comparison of with and without emacssym options on my private build:

Project Size      vanilla   emacssym
             
 
   10               3          3

   100              7          7

   500             16         20

   1000            27         38

   2000            50         80

   4000           102        179


You can see that we are scaling much better, though still not quite linear with respect to number of files (but that's to be expected).

I have one more option I want to profile, and then I need to carefully review all changes and run all the tests etc. before checking in. There are more optimisations possible, but I don't want to make them at this point as they bring wider change than the contained optimisations made so far. I should be ready by end of tomorrow...

Regards, Adrian.

-- Adrian
Adrian_Colyer@xxxxxxxxxx

Back to the top