Optimize local and bulk management of hazptr_holder-s
authorMaged Michael <magedmichael@fb.com>
Sun, 1 Oct 2017 01:11:41 +0000 (18:11 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Sun, 1 Oct 2017 01:20:16 +0000 (18:20 -0700)
commitbf4d53709b769785cb1f8afeca5547dd18439acf
tree145e52b6d124295e7165314985010e1efbd74a8e
parent49af015a1d7e8c91d7ba6e78de462b8e28b0c706
Optimize local and bulk management of hazptr_holder-s

Summary:
Changes:
- Added hazptr_local<M> for optimized management of local hazptr_holder-s.
- Added hazptr_array<M> for optimized management of hazptr_holder-s
- Added benchmarks for hazptr_local and hazptr_array
- Added tests for hazptr_local and hazptr_array
- Changed SWMRList example to use hazptr_local<2> instead of two hazptr_holder-s.
- Updated benchmark performance results.

Reviewed By: davidtgoldblatt

Differential Revision: D5833721

fbshipit-source-id: 154811f67c38abac7342cecb71f829778ccf76b2
folly/experimental/hazptr/bench/HazptrBench.h
folly/experimental/hazptr/example/SWMRList.h
folly/experimental/hazptr/hazptr-impl.h
folly/experimental/hazptr/hazptr.h
folly/experimental/hazptr/test/HazptrTest.cpp