I am very bad at naming things.
This is a module containing classes to manage raw data in external memory.
It provides semantics similar to built-in void[] arrays, but has the
following advantages:
* Faster allocation and deallocation, since memory is requested from the
OS directly as whole pages
* Greatly reduced chance of memory leaks due to stray pointers
* Overall improved GC performance due to reduced size of managed heap
* Memory is immediately returned to the OS when data is deallocated
I've been using it in my own programs, and it saved me from many headaches.
Personally, I think that it is extremely useful for any applications that
deal with non-trivial amounts of raw data - web/file servers, multimedia
applications, video games, etc., and belongs in the standard library.
Currently D1/Phobos, but should be easy to port to D2 or Tango.
I believe it can be made memory-safe by removing deleteContents and fixing
the append clobber issue.
Source and more info here: http://github.com/CyberShadow/data.d
If you see anything that can be improved, feel free to fork the github
repo, or post patches, or just comment on it.
--
Best regards,
Vladimir mailto:vladi...@thecybershadow.net