[Mono-devel-list] The first (attempt to checkin) managed collation patch

Atsushi Eno atsushi at ximian.com
Sun Jul 24 14:26:48 EDT 2005


> Notice that I suggested "GetManifestResourceInternal", not the similarly
> named "GetManifestStream".  The managed collaction code uses a Stream
> interface.
> What am suggesting is that instead of adding a new icall whose purpose
> is to return an IntPtr + the size of a special-cased resource, you can
> use GetManifestResourceInternal which does exactly the same thing.  The
> difference is that the GetManifestResourceInternal works with resources,
> while the new icall uses a new framework for fetching values.

Ok, I didn't notice that GetManifestResourceInternal() already exists,
so I made another change to use that directly.

> System.Web already has a framework for including resources, see
> mcs/class/System.Web/Makefile for more details and this should be
> working on both Windows and Linux (it seems very simple).

Oops, actually I might have experienced incorrect test that
csc looked to reject such options like /resource:unixpath/filename.
It actually worked, so there is no problem. I'd put those
resources to another directory then.

(BTW sys.web does not use resources for 1.x build. They are
only added when the profile is net_2_0).

Here are the new profile results for managed resource, without
stream, without BinaryReader, without managed array:


--- no-collation ---
Time(ms) Count   P/call(ms) Method name
41982.000   10228    4.105   Mono.CSharp.Block::Resolve(EmitContext)
Total memory allocated: 54110 KB

--- managed-collation ---
Time(ms) Count   P/call(ms) Method name
43226.000   10228    4.226   Mono.CSharp.Block::Resolve(EmitContext)
Total memory allocated: 54125 KB

The result looks good I guess :-)

Atsushi Eno

More information about the Mono-devel-list mailing list