Library Development: What to finish/flesh out?

Don nospam at nospam.com
Thu Mar 17 23:56:46 PDT 2011


dsimcha wrote:
> I've accumulated a bunch of little libraries via various evening and weekend
> hacking projects over the past year or so, in various states of completion.
> Most are things I'm at least half-considering for Phobos, though some belong
> as third-party libs.  I definitely don't have time to finish/flesh out all of
> them anytime soon, so I've decided to ask the community what to prioritize.
> Below is a summary of everything I've been working on, with its current level
> of completion.  Please let me know the following:

> 3.  TempAlloc:  A memory allocator based on a thread-local segmented stack,
> useful for allocating large temporary buffers in things like numerics code.
> Also comes with a hash table, hash set and AVL tree optimized for this
> allocation scheme.  The advantages over plain old stack allocation are that
> it's independent of function calls (meaning you can return pointers to
> TempAlloc-allocated memory from a function, etc.) and it's segmented, meaning
> you can allocate huge buffers w/o risking stack overflow.  Its main weakness
> is that this stack is not scanned by the GC, meaning that you can't store the
> only reference to a GC-allocated piece of memory here.  However, in practice
> large arrays of primitives are an extremely common case in
> performance-critical code.  I find this module immensely useful in dstats and
> Lars Kyllingstad uses it in SciD.  Getting it into Phobos would make it easy
> for other scientific/numerics code to use it.  Completion state:  Working and
> used.  Needs a litte cleanup and documentation.  (Phobos candidate)

This is #1. Far and away. Belongs in druntime.
I would use it instantly in BigInt.


More information about the Digitalmars-d mailing list