News for hackers. Stuff that matters.
Re:Rust and the Future of Systems Programming [video] by steveklabnik on Wednesday November 16, 2016 @02:54PM (#12970823)
What is the pathological case with lifetimes? You're saying it takes "time proportional to the number of dead objects to free", but as the parent said, lifetimes are a compile-time construct, so they have no runtime properties.

(I'm not saying that for sure there are none, I'm saying that it seems like you're talking about refcounting only, the lifetime bit is unclear to me.)

Re:Rust and the Future of Systems Programming [video] by Rusky on Wednesday November 16, 2016 @02:58PM (#12970879)
I suspect they're referring to graphs of Drop implementors, based on the sibling thread. If you for some reason have a linked-sea-of-nodes data structure that has to traverse itself on drop, that can behave similarly to dropping an Rc graph, though it still doesn't use lifetimes.
Re:Rust and the Future of Systems Programming [video] by steveklabnik on Wednesday November 16, 2016 @03:01PM (#12970907)
I guess that would make sense, but I'm not sure it's lifetime-specific though. C++ doesn't have lifetimes but would still have this problem.
Re:Rust and the Future of Systems Programming [video] by naasking on Wednesday November 16, 2016 @03:09PM (#12970983)
Yes, C/C++ would also have this problem. The point I was trying to make is that incrementality/latency is a property of a runtime. If your program has deep ownership graphs, any kind of naive reclamation procedure is going to have high latency, even if it's written in C/C++.
Re:Rust and the Future of Systems Programming [video] by steveklabnik on Wednesday November 16, 2016 @03:18PM (#12971064)
Quite fair! Thanks for elaborating.