Andrew Lentvorski wrote:
what makes you think malloc doesn't?  Malloc is an interface, the
implementation can be anything it wants.

Because malloc() cannot introspect what it is allocating. The JVM and the .Net virtual machine maintain statistics internally as to allocation patterns and lifetime duration.

Plus, malloc() isn't allowed to notice three 4K blocks, each with 100 bytes in the middle used, and move them all to the same 4K block and free up the other two.

Disagree.  First off performance isn't there.  And performance still
matter, until you buy my hardware.

B) You have made this assertion before, and you *still* have no data to back up your assertion. Worse, you are willing to throw away large chunks of memory to get this "theoretical" performance without any data as to how much performance that lack of memory throws onto the floor.

Plus, there's plenty of research that shows garbage collection is often *faster* than malloc and free, even when it's "conservative", meaning it doesn't move things around and doesn't track pointers (i.e., that you could make it a drop-in replacement in C or C++).

--
  Darren New / San Diego, CA, USA (PST)
    Remember the good old days, when we
    used to complain about cryptography
    being export-restricted?

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to