| ▲ | Timing Wheels(pncnmnp.github.io) | |
| 43 points by pncnmnp 5 days ago | 2 comments | ||
| ▲ | o11c an hour ago | parent | next [-] | |
It's hard for me to take this article seriously when it uses so many words but never once mentions "priority queue", and only mentions "heap" as an (copy-pasted) aside. Most people should use that instead. This is a useful data structure for its niche where accuracy doesn't matter and most events will be canceled, but I would not use this article to learn about it. This does remind me of some thoughts on what a timer API should look like - there needs to be a distinction between "fire-and-forget so never cancel", "owned but cancellation is rare", "owned and cancellation is common". I've almost exclusively used the first two; for rare cancellations you can rely a lot on amortized constant overhead, or use bubbling, or use precise tracked cancellation. ... this is one case when I utilized C++ nontrivial move constructors to their fullest extent, something which Rust chooses to make utterly impossible. | ||
| ▲ | omarvanez 3 hours ago | parent | prev [-] | |
This looks like a great and useful resource, subscribed to the RSS feed | ||