Back to Browse

Implementing Hazard Pointers in Rust (part 4/4)

11.9K views
Jan 15, 2022
3:25:53

We continue our journey implementing Hazard Pointers (https://erdani.org/publications/cuj-2004-12.pdf) in Rust. We follow along with the C++ implementation in Facebook's Folly library (https://github.com/facebook/folly/blob/master/folly/synchronization/Hazptr.h), starting from where we left off last time: https://github.com/facebook/folly/tree/0e92d3c2705a45ba7850708fd7fe0c709d6a0e5f. This time, the focus is on porting over tests and benchmarks, including using loom (for concurrency testing) and criterion (for benchmarks). https://twitter.com/jonhoo/status/1482179476423208963 0:00:00 Introduction 0:02:22 Changes since last stream 0:11:39 The Twitter poll 0:13:35 folly's test suite 0:38:31 Domain::cleanup 0:45:19 Porting folly tests 1:44:51 Custom deleters 1:58:49 Porting spin test to loom 2:46:36 Benchmarking hazard pointer creation 3:15:12 Benchmarking retire and reclaim 3:21:08 drop(stream) You can find the code here: https://github.com/jonhoo/haphazard/ Live version with chat: https://youtu.be/t0Nza-v1XIg

Download

0 formats

No download links available.

Implementing Hazard Pointers in Rust (part 4/4) | NatokHD