On Mon, Nov 16, 2020 at 4:04 PM tapi...@gmail.com <tapir....@gmail.com>
wrote:

>
> I feel there still room between the two to explore, though I have not a
> clear thought on this  yet.
>

Many of the tricks tend to coincide with both allocator strategies as you
work more on them. The methods are much more two sides of the same coin
than they are different.

It is easy to have manually managed memory areas: just force a data copy in
and out of said area whenever you access them. Then the pointer spaces can
be kept separated from each other and you don't have to run GC for the data
space. This is what Erlang's ETS system is all about (If you want a
pointer, lookup Linda tuple spaces for an explanation). If you allow
pointers to point between spaces, then you have to handle that in some way.
One way is to keep forward sets of the pointers so you can handle them, but
this is usually easier if you have generational GCs as they have to do this
anyway for most languages (again, Erlang is the exception to the rule here).

I'm more inclined to believe that careful handling of memory in Go is more
than adequate for handling a low latency scenario such as a game. If your
target is 60fps, the 16.7ms window per frame should be rather easy to reach
with the current GC, especially if you have some extra CPU resources to
spare.

-- 
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/CAGrdgiVfZD-F9-5jyN5bdHPh64UZfBDUX4ooJuRjjaeS0zCj6A%40mail.gmail.com.

Reply via email to