Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Coffee corner » C++ FQA
Re: C++ FQA [message #12678 is a reply to message #12676] Mon, 12 November 2007 23:34 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
cbpporter wrote on Mon, 12 November 2007 17:22

Quote:


Sorry for being rude, but your understanding of actual GC (and especially conservative GC) is sort of lacking.


That could very well be the case, but I believe I have some if not enough teoretical and practical experience. What exactly did I say that was inaccurate? I was referring to generic garbage collection (no ref-counting though), but biased toward mark and sweep style algorithms, not exactly to D's implementation (about which I have only superficial knowledge). And what do you mean by conservative GC?



Well, your description of allocation as only "moving the pointer" is accurate (IMO, again) for moving collector. Anyway, D, by principle, has conservative GC, which cannot be moving (because you simply do not know where pointers are, therefore you cannot adjust them).

Obviously, for non-moving collectors, allocations are more complicated and fragmentation exists as well.

Quote:


Quote:


And no, you cannot have destructors and GC working together.


Well you can. With a little extra care, you can have fully functional destructors (just be sure never to physically deallocate memory, just do cleanups). But with GC you rarelly need non-trivial destructors. And if the programing language has a "scope" clause like D, things get a lot simpler.



No, you cannot Smile scope is nice, but IMO limited. And finalizers are not destructors, if anything else, they are asynchronous.

Alternatively, you can suggest that GC only cares about memory management and destructors are on demant, but in that case you simply reduce GC to sort of leak checker... (because you have to carefully watch that all destructions do not leave GC collected destructable orphans).

Mirek
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Tools or methodologies you use when developing software
Next Topic: About vista....
Goto Forum:
  


Current Time: Wed May 08 00:27:58 CEST 2024

Total time taken to generate the page: 0.01644 seconds