3 ms·
Note I’m using Nim with the new GC (both ARC & ORC) on dual core esp32’s. Locks do work with ARC, though some care needs to be taken. Both the Nim and free-rto
by elcritch 5y ago
Note I’m using Nim with the new GC (both ARC & ORC) on dual core esp32’s.
Locks do work with ARC, though some care needs to be taken. Both the Nim and free-rtos multi-threaded queues work well with the correct move/sink annotations.
The design of ARC allows you to move entire memory graphs between separate heaps. It works fine, but what’s not working is the compile time verification that a given memory graph is only owned/aliased by the top pointer. So there’s a lot of work to do in making it “safer and easy” to use.
Here’s an example: https://github.com/elcritch/nesper/blob/f54fff8b240e94684ae8ce0ffe2485cfd425497c/src/nesper/servers/rpc/rpcsocket_queue_mpack.nim#L71 https://github.com/elcritch/nesper/blob/f54fff8b240e94684ae8...