Std Phobos 2 and logging library?
Robert Jacques
sandford at jhu.edu
Sat Apr 11 08:49:30 PDT 2009
On Sat, 11 Apr 2009 01:21:04 -0400, dsimcha <dsimcha at yahoo.com> wrote:
> == Quote from Leandro Lucarella (llucax at gmail.com)'s article
>> Andrei Alexandrescu, el 10 de abril a las 16:49 me escribiste:
>> > >And Braddr just made a documentation fix, and Walter only commits
>> > >portability stuff and an occasional bug fix now and then, so...
>> > >Yes, it really looks like a five-person show =)
>> > >I think most work in Phobos now it's done by Andrei, there are other
>> > >*collaborators* (the four other you named plus people sending
>> patches), but
>> > >it looks like Andrei's show to me. This is not necessarily bad, it's
>> > >definitely better than before, when it was Walter's show, now at
>> least he
>> > >can dedicate his efforts in the compiler and language and Phobos is
>> having
>> > >a lot more attention.
>> >
>> > We'll be very happy to integrate credited contributions from anyone,
>> and
>> > to give dsource.org write access to serious participants. What I think
>> > right now stands in the way of large participation to Phobos is that
>> we
>> > all still learn the ropes of D2; the possibilities are dizzying and we
>> > haven't quite zeroed in on a particular style. Nonetheless, as it's
>> been
>> > noticed I'm always summoning help from this group. So again, if you
>> feel
>> > you want to contribute with ideas and/or code, don't hesitate.
>> I hope I can come up with something useful with my thesis (improving D's
>> GC) and I can contribute that. Right now all my energies are focused on
>> that, and I'm very close to the point to finally start playing with
>> alternate implementations.
>> BTW, is there any real interest in adding some more power to the GC
>> implementator to allow some kind of moving or generational collector?
>
> Absolutely. When writing parallel code to do large scale data mining in
> D, the
> lack of precision and multithreaded allocation are real killers. My
> interests
> are, in order of importance:
>
> 1. Being able to allocate at least small chunks of memory without
> locking.
After reading Leandro's blog about the current GC, converting the
free-lists to a lock-free data-structure would be a simple (i.e. library
only) way to provide this. Another is to provide per thread heaps, which I
realized this morning can also be done without changing the complier.
> 2. Precise scanning of at least the heap.
> 3. Collection w/o stopping the world.
*Sigh*. A concurrent GCs (which is what is generally meant by Collection
w/o stopping the world) is actually the wrong choice for you. In
data-mining you're generally concerned with throughput. A concurrent
collector is used solely for gaining latency back, and does so by
sacrificing throughput. i.e. the total time your program spends collecting
is increased. A parallel collector is probably what you're looking for,
since it decreases the total collection time (i.e. increases your
throughput) (It also reduces the latency on multi-core systems, which is
why you often see synergistic parallel-concurrent collectors) And if you
really want to have your cake (low latency) and eat it too (high
throughput) there are thread-local heaps.
> 4. Moving GC so that allocations can be pointer bumps.
>
More information about the Digitalmars-d
mailing list