Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
November 29, 2006 GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting. I'm still very skeptical of the claims. http://home.comcast.net/~vzoom/ and some code which I still have to run. http://home.comcast.net/~vzoom/demos/pc_sample.c Zz |
November 29, 2006 Re: GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
Posted in reply to zz | zz wrote:
> While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting.
>
> I'm still very skeptical of the claims.
Don't be. Chris Thomasson may talk a bit big at times, but he has a solid grasp of the problems involved and VZOOM has gotten a lot of attention lately from some pretty respectable sources (I think it just won some kind of award in a contest sponsored by Sun or some such). I haven't given VZOOM a very close look myself, but what I've heard Chris say about it makes me believe that it probably lives up to his claims. What makes VZOOM so fast, from what I've heard, is that it almost completely avoids the use of memory synchronization instructions through the use of some clever tricks, along the lines of RCU + SMR. Last I heard Chris was working on a lock-free GC which sounded fairly promising, though it was smart-pointer based and therefore not really suitable for D.
Sean
|
November 29, 2006 Re: GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | "Sean Kelly" <sean@f4.ca> wrote in message news:ekiu16$1ndk$1@digitaldaemon.com... > zz wrote: >> While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting. >> >> I'm still very skeptical of the claims. > > Don't be. Chris Thomasson may talk a bit big at times, but he has a solid grasp of the problems involved and VZOOM has gotten a lot of attention lately from some pretty respectable sources (I think it just won some kind of award in a contest sponsored by Sun or some such). I haven't given VZOOM a very close look myself, but what I've heard Chris say about it makes me believe that it probably lives up to his claims. What makes VZOOM so fast, from what I've heard, is that it almost completely avoids the use of memory synchronization instructions through the use of some clever tricks, along the lines of RCU + SMR. Last I heard Chris was working on a lock-free GC which sounded fairly promising, though it was smart-pointer based and therefore not really suitable for D. Why not? If someone has discovered a good GC solution via smart pointers and reference counting, why couldn't D leverage this new technology somehow? I'm not talking about dumping our current GC for another, but rather providing options. This could probably be done using a mixin that provides an overloaded new and delete. (Correct me if I'm wrong.) I believe that one huge criticism of reference counting was that it was slow for multi-threading. Well, if there is a lock-free algorithm becomes available, then that argument can no longer be used. -Craig |
November 29, 2006 Re: GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Craig Black | Craig Black wrote:
> "Sean Kelly" <sean@f4.ca> wrote in message news:ekiu16$1ndk$1@digitaldaemon.com...
>> zz wrote:
>>> While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting.
>>>
>>> I'm still very skeptical of the claims.
>> Don't be. Chris Thomasson may talk a bit big at times, but he has a solid grasp of the problems involved and VZOOM has gotten a lot of attention lately from some pretty respectable sources (I think it just won some kind of award in a contest sponsored by Sun or some such). I haven't given VZOOM a very close look myself, but what I've heard Chris say about it makes me believe that it probably lives up to his claims. What makes VZOOM so fast, from what I've heard, is that it almost completely avoids the use of memory synchronization instructions through the use of some clever tricks, along the lines of RCU + SMR. Last I heard Chris was working on a lock-free GC which sounded fairly promising, though it was smart-pointer based and therefore not really suitable for D.
>
> Why not? If someone has discovered a good GC solution via smart pointers and reference counting, why couldn't D leverage this new technology somehow?
I suppose it depends how the smart pointers are implemented. As D doesn't support copy semantics for objects, there is really no way to implement traditional smart pointers. Rather, the reference counting has to be done somewhat manually.
Sean
|
November 29, 2006 Re: GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | "Sean Kelly" <sean@f4.ca> wrote in message news:ekkja0$i6p$1@digitaldaemon.com... > Craig Black wrote: >> "Sean Kelly" <sean@f4.ca> wrote in message news:ekiu16$1ndk$1@digitaldaemon.com... >>> zz wrote: >>>> While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting. >>>> >>>> I'm still very skeptical of the claims. >>> Don't be. Chris Thomasson may talk a bit big at times, but he has a solid grasp of the problems involved and VZOOM has gotten a lot of attention lately from some pretty respectable sources (I think it just won some kind of award in a contest sponsored by Sun or some such). I haven't given VZOOM a very close look myself, but what I've heard Chris say about it makes me believe that it probably lives up to his claims. What makes VZOOM so fast, from what I've heard, is that it almost completely avoids the use of memory synchronization instructions through the use of some clever tricks, along the lines of RCU + SMR. Last I heard Chris was working on a lock-free GC which sounded fairly promising, though it was smart-pointer based and therefore not really suitable for D. >> >> Why not? If someone has discovered a good GC solution via smart pointers and reference counting, why couldn't D leverage this new technology somehow? > > I suppose it depends how the smart pointers are implemented. As D doesn't support copy semantics for objects, there is really no way to implement traditional smart pointers. Rather, the reference counting has to be done somewhat manually. Right. I forgot about that. Specifically, what language features would have to be in place to provide for this? -Craig |
November 29, 2006 Re: GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Craig Black | Craig Black wrote:
> "Sean Kelly" <sean@f4.ca> wrote in message news:ekkja0$i6p$1@digitaldaemon.com...
>> Craig Black wrote:
>>> "Sean Kelly" <sean@f4.ca> wrote in message news:ekiu16$1ndk$1@digitaldaemon.com...
>>>> zz wrote:
>>>>> While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting.
>>>>>
>>>>> I'm still very skeptical of the claims.
>>>> Don't be. Chris Thomasson may talk a bit big at times, but he has a solid grasp of the problems involved and VZOOM has gotten a lot of attention lately from some pretty respectable sources (I think it just won some kind of award in a contest sponsored by Sun or some such). I haven't given VZOOM a very close look myself, but what I've heard Chris say about it makes me believe that it probably lives up to his claims. What makes VZOOM so fast, from what I've heard, is that it almost completely avoids the use of memory synchronization instructions through the use of some clever tricks, along the lines of RCU + SMR. Last I heard Chris was working on a lock-free GC which sounded fairly promising, though it was smart-pointer based and therefore not really suitable for D.
>>> Why not? If someone has discovered a good GC solution via smart pointers and reference counting, why couldn't D leverage this new technology somehow?
>> I suppose it depends how the smart pointers are implemented. As D doesn't support copy semantics for objects, there is really no way to implement traditional smart pointers. Rather, the reference counting has to be done somewhat manually.
>
> Right. I forgot about that. Specifically, what language features would have to be in place to provide for this?
I'm not sure, without looking at the code. But for general smart pointers we'd need C++ style initialization and copy semantics for value objects (ie. structs), and an overloaded dot operator would be a "nice to have." The thing is that I actually like that these features are not in D.
Sean
|
November 29, 2006 Re: GC (Virtually Zero-Overhead Object Management) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | "Sean Kelly" <sean@f4.ca> wrote in message news:ekkn5d$o3u$1@digitaldaemon.com... > Craig Black wrote: >> "Sean Kelly" <sean@f4.ca> wrote in message news:ekkja0$i6p$1@digitaldaemon.com... >>> Craig Black wrote: >>>> "Sean Kelly" <sean@f4.ca> wrote in message news:ekiu16$1ndk$1@digitaldaemon.com... >>>>> zz wrote: >>>>>> While having a discussion about GC's with a friend, he brought up this link which I found quite interesting (at the first reading) and I thought others would also find it interesting. >>>>>> >>>>>> I'm still very skeptical of the claims. >>>>> Don't be. Chris Thomasson may talk a bit big at times, but he has a solid grasp of the problems involved and VZOOM has gotten a lot of attention lately from some pretty respectable sources (I think it just won some kind of award in a contest sponsored by Sun or some such). I haven't given VZOOM a very close look myself, but what I've heard Chris say about it makes me believe that it probably lives up to his claims. What makes VZOOM so fast, from what I've heard, is that it almost completely avoids the use of memory synchronization instructions through the use of some clever tricks, along the lines of RCU + SMR. Last I heard Chris was working on a lock-free GC which sounded fairly promising, though it was smart-pointer based and therefore not really suitable for D. >>>> Why not? If someone has discovered a good GC solution via smart pointers and reference counting, why couldn't D leverage this new technology somehow? >>> I suppose it depends how the smart pointers are implemented. As D doesn't support copy semantics for objects, there is really no way to implement traditional smart pointers. Rather, the reference counting has to be done somewhat manually. >> >> Right. I forgot about that. Specifically, what language features would have to be in place to provide for this? > > I'm not sure, without looking at the code. But for general smart pointers we'd need C++ style initialization and copy semantics for value objects (ie. structs), and an overloaded dot operator would be a "nice to have." The thing is that I actually like that these features are not in D. Perhaps someone could invent a cleaner solution that doesn't muck up the syntax with problematic C++ language features. D has a habit of doing this. -Craig |
Copyright © 1999-2021 by the D Language Foundation