data.d

Vladimir Panteleev vladimir at thecybershadow.net
Wed Jul 14 22:35:46 PDT 2010


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:vladimir at thecybershadow.net


More information about the Digitalmars-d-announce mailing list