[Mono-dev] Replacing/Removing I18N
atsushi at ximian.com
Wed Oct 11 11:13:31 EDT 2006
Your details would bring good clarification :-)
To my understanding mono assemblies (and hence(?) their embedded
resources) are mmaped when they are loaded. That's what Andreas also
knows, and that's why he is afraid the case if such external resources
that I put on the table are not mmaped.
As Andreas claimed, non-mmaped resources is worse (and that's what
I agree with him).
Brian Crowell wrote:
> 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?
More information about the Mono-devel-list