Do the data structures contain pointers? If not, I seem to strongly recall 
that the GC does not have to scan slices when the objects contain no 
pointers. Perhaps someone with in-depth knowledge of the GC can confirm or 
refute that. If that is the case, then large slices should not be a burden 
on the GC, and would be the simplest solution. 

On Monday, July 20, 2020 at 1:35:14 PM UTC-4 [email protected] wrote:

> I have an application where I will be allocating millions of data 
> structures, all of the same size. My program will need to run continuously 
> and be pretty responsive to 
> its network peers.
>
> The data is fairly static, once allocated it will rarely need to be 
> modified or deleted.
>
> In order to minimize the garbage collection scanning overhead, I was 
> thinking of allocating large blocks on the heap that were a fixed size that 
> would hold 20K or so elements
> and then write a simple allocator to hand out pieces of those blocks when 
> needed. Instead of having to scan millions of items on the heap, the GC 
> would only be scanning 100 or so
> items.
>
> Sound reasonable?  Or does this 'go' against the golang way of doing 
> things?
>
> F
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/30026832-81de-44ff-8796-2f3534e23bffn%40googlegroups.com.

Reply via email to