codingskynet / concurrent-data-structure

Concurrent Data Structure for Rust
29 stars 3 forks source link

SeqLockAVLTree removal 병목 #4

Open codingskynet opened 2 years ago

codingskynet commented 2 years ago

1b862d45까지 내려가면 removal이 빠르지만, 그 이후에 추가된 fence-fence synchronization을 위한 value의 Atomic 적용이 병목의 원인으로 작용하고 있는 듯함. 해결책을 강구해봐야 겠다.

재현 방법: avl_tree(최신에선 avltree)::seqlock::bench_large_seqlock_avl_tree 실행해보면 removal이 압도적으로 느려지는 경우를 관찰할 수 있음 재현 환경: M1 Macbook Air, Big Sur 11.4