[Mono-devel-list] [PATCH] Profile 2.0 assembly versions

Ben Maurer bmaurer at ximian.com
Fri Jul 29 10:36:32 EDT 2005


On Fri, 2005-07-29 at 11:00 +0200, Kornél Pál wrote:
> I agree with you. I don't like the fact that the compiler embeds private
> constants altough they are not used at all. Furthermore in a lot of cases
> private enumerations are not required at runtime.
> 
> I think we don't need any special obfuscator or Cecil tool we just should
> add two compiler options to mcs:
> - do not add private (invisible outside the assembly) constants
> - do not add enums that are not referenced by type
> 
> None of them should be default because constants can be accessed using
> reflection that may be required and field names of enums may be used in
> Parse or ToString.

These optimizations would have to be written N times where N is the
number of languages we have compilers for. With cecil we write 1
optimizer. It is like having a jit -- reduces the number of times we
need to write code.

Now, with that being said. Those of us doing optimization will probably
focus on optimizations that will result in visible speedups, rather than
random, unbenchmarked, pie-in-the-sky ideas.

Please don't bother to respond unless you have performance data on how
this change would benefit users. Showing the difference in du does not
qualify here. You would need to show:

      * What (if any) runtime data structures are avoided in normal
        execution
      * Savings in the number of pages that get paged in for an
        application with a normal workload.

I don't think we even have the tools (at least on Linux) to measure the
second item. (I've been begging rml for these ;-).

-- Ben 




More information about the Mono-devel-list mailing list