3 ms·
One of the many yaks! In this case taking memory mapped Vulkan buffers and unsafeing them to various Go arrays and whatnot. I have a gapbuffer implementation on
by lukem567 5y ago
One of the many yaks! In this case taking memory mapped Vulkan buffers and unsafeing them to various Go arrays and whatnot. I have a gapbuffer implementation on top of this, and then a truly evil "gaptree" implementation that uses gapbuffers to represent a tree data structure.
- messe 5y agoDo you need to work around Go's escape analysis much? I was under the impression that it's good but not perfect, leading to some heap allocation of variables that wouldn't necessarily need it if they were on C/C++.
- lukem567 5y agoI think "good but not perfect" describes my experience here as well. I've certainly needed to rework some bits of code that were allocating when I didn't expect them to, but so far, this has not become too onerous (yet). The "write a little bit of code, then test it to see if it allocates" approach has been very useful. That way I don't get too far out on a limb with a bunch of allocating code and no easy way to clean things up.