I've been using ORC ever since it arrived in the stable release channel, and generally have had few problems, but every once in a while I run into some severe bug that causes a crash, usually via SIGSEGV, and usually related to multithreading. Given this is not the default memory management strategy at the moment, it can't be expected to be as stable as refc, but I've run into enough issues frequently enough to be unsure of it.
Since ORC will become the default memory management strategy in Nim 2.0, I'm wondering how much focus there is on it, and what the consensus is. I know that there are a lot of projects right now that crash under ORC, including Prologue with threads on (I think the same is true for Jester), which already will cause loads of issues when Nim 2.0 is released. I also find that ORC's cycle collector seems to need some manual help to be called sometimes, and I get better memory usage when manually calling `GC_runOrc` periodically. In general, I'm pretty clueless as to how it actually behaves, and what I should do to coax it into collecting more reliably. There is very little documentation on its behavior. This post isn't to complain, but as someone who isn't a compiler engineer, I'd to hear what some other people think about the state of ORC and its readiness for use, especially in the context of multithreading and general stability.