On 05/07/2013 23:05, Daniel Micay wrote:
On Fri, Jul 5, 2013 at 5:43 PM, james<[email protected]> wrote:
>On 05/07/2013 08:37, Graydon Hoare wrote:
>>
>>I agree that it's higher than it seems it "needs to be". But it will
>>always be unnecessary overhead on x64; it really makes no sense there. The
>>address space is enormous and it's all lazily committed.
>
>
>I don't think you can rely on 'lazily committed'. Not on a system that is
>properly engineered anyway.
You can rely on it, it's the standard behaviour on Linux. The actual
consumed memory will be equal to the size of the pages that have been
touched.
And that was entirely my point. As a Solaris programmer I thought the
lazy assignment and overcommit was a stupid idea on AIX and its still a
stupid idea on Linux. There is no good reason for an operating system
to fail a process for accessing memory that it has been told it can
have, nor for a process to be terminated because some other process uses
memory. Its not well-engineered, quite the opposite. And its
particularly pointless given that space is so cheap. Its not as if you
have to actually wire up backing store, or even wire up page tables -
but you do have to make sure that enough resources are available to make
sure that you can do so later on demand and won't run out. Preferably
using swap that doesn't deadlock when you try to use it. I don't think
Linux is well engineered, and I don't think the development process (if
that word actually applies) will ever fix its deficiencies. Even if it
is standard on Linux, its a really poor idea to assume thet the whole
world does now and will continue to use Linux as the only base for doing
useful computing.
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev