[Mono-dev] Replacing/Removing I18N

Brian Crowell mono-devel at fluggo.com
Wed Oct 11 10:59:20 EDT 2006


Atsushi Eno wrote:
> I quite don't understand why you speak about the _existence_
> of mmaped external resource loader.

Forgive me for jumping in, but I think he's talking about it because it could be 
a big help without actually wasting a lot of memory/process time.

Now, *is* there a memory-mapping capability somewhere in Mono, or isn't there? 
And if there is, wouldn't it be helpful to use it, even if just to try this 
strategy out? Remember, with memory mapping, you're not actually *using* 
physical memory so much as using the kernel's cache, so you hurt neither disk 
performance nor memory consumption if you go down this road and end up not using 
the larger tables. All you do is devote a little more of the address space to Mono.

If that's all it is, then memory mapping isn't really so much of a "hack" as a 
useful loading strategy. You leave it up to the kernel to decide whether you 
need the tables or not, and if you don't use them, fine-- you haven't hurt 
anything. But if you do, the kernel will pop the data off disk and keep it until 
it thinks you're done with it.

Now, the question, like I said, is whether Mono actually has that capability. 
For example, does it memory-map assemblies? What about satellite assemblies? 
Could you wrap the memory mapping API and just use it to obtain an unsafe pointer?

--Brian




More information about the Mono-devel-list mailing list