Today I was thinking on the Q&A of the live that Jon Gjengset made yesterday and at some point he came out with this really good idea of making a video series in his Youtube channel about the implementation of all the algorithms in Rust in the third Edition of the book:
The Algorithm Design Manual, 3th Edition
by Steven S. Skiena
This appears at 1:25:43
Jon Gjengset - 2022-01-01 Q&A/AMA/Whatchamacallit
This would be a fantastic way to share the knowledge of how to implement high performance data structures in Rust, by one of it’s highest knowledge persons. And we all also gained several implementations of many data structures in Rust. That all sound really interesting and good thing!
That for pedagogic porposes should never be implemented with a GC.
But that lead me to ask my self a different question, some of that implementations in Rust will go really wild, and that is good because it will teach a lot to the community, but realistically and on a practical aspect would Rust have to gain with the possibility of having a really good GC (GO kind of fast GC with low pauses, and on a per reference basis) just for some hairy parts of specific algorithms. In a way that you could do all implementation with non GC but in the most difficult cases you would have a GC to fallback into and continue with safe Rust code, does this kind of thinking makes any sense to all you seasoned Rust developers? Could you share your opinions?
When I searched for GC in crates.io I have found the following GC crates based on most downloads:
Epoch-based garbage collection
Tracing garbage collector plugin for Rust.
Safe garbage collected arenas
But I think that non of this is on pair (mature) with a GC like the GO GC.
Best regards and have a nice 2022,