Hi,

Many data structures are implemented using pointers. How does this perform 
wrt garbage collecting? For example take any data structure that uses some 
tree of nodes, or even simpler just a singly linked list: there is one 
pointer from the left node to the next. Wouldn't this incur huge GC 
(unavoidable) cycles for large linked lists that will look at all pointers? 
I can imagine that a large AVL tree would then cause potentially large 
hick-ups in the GC cycle? 

Of course, luckily we have map where you can just store the values. But if 
people start using generics for their own map types, or trees, wouldn't 
this potentially be a bigger problem? Wouldn't this defy the use of 
generics for data structures aimed to manage a lot of data?

I don't know how Java does this for example, or if it is no practical issue 
at all. In C++ you can you ref counting for the nodes, in C you would use a 
arena allocator probably for the nodes etc. I was wondering how this 
relates to Go.

-Markus






-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/942ebe05-2bd8-4fc2-bed7-b7d90518fd6fn%40googlegroups.com.

Reply via email to