Hello,
> using System.Windows.Forms;
> class TV : Form {
> public static void Main() {
> }
> }
>> Compile time went up 0.01s at the most (often less, in multiple runs) for
> the above code, when all assemblies were referenced, compared to just
> /r:System.Windows.Forms.dll specified on the command line.
Your measurement is poorly done:
* You did it witch a hot system, not a cold system, so
the data is likely already on the cache.
* On my machine, while running in battery saving mode
building mcs goes from 9 seconds to 10 seconds with
a hot cache (2 gigabyte ram machine).
There are two problems that affect mcs performance:
* Loading the assemblies (this amounts for 376 page faults
out of 12634)
* Looking up the types plus keeping track of positive and
negative hits on a hashtable.
In your example above you have one type lookup: "Form", which is not
likely exercising anything interesting. Nor does it take into account
the slowdowns caused by the memory impact caused by keeping the extra
type caches around (the major source of performance issues in mcs).
Also benchmarking a hot system is not the same as benchmarking a cold
system.
As I had already told you this afternoon, this kind of patch will not be
accepted into mcs this year.
Miguel.