shared_ptr optimization with local and global counters
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Không xác định được tệp mã nguồn hoặc bài kiểm thử nào. Hãy bắt đầu bằng việc xem xét các triển khai shared_ptr và local_shared_ptr hiện có, sau đó kiểm tra các yêu cầu về tính an toàn luồng và việc chuyển giao giữa các luồng. Công việc được xem là hoàn tất khi đã thống nhất quyết định thiết kế và có cách rõ ràng để xác thực hành vi hai bộ đếm được đề xuất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Would it be desirable to have a shared_ptr (or extend the existing shared_ptr) with a thread-local reference counter?
The basic idea is to have two reference counters: the normal reference counter is changed to count the number of threads using the shared_ptr, and an additional thread-local reference counter is used when a thread copies/deletes the shared_ptr (like local_shared_ptr.)
This ought to yield better performance in multi-threaded applications as it reduces the amount of cache congestion on the normal reference counter.
The disadvantages is the increased size due to the extra counter, and we need to consider how to pass shared_ptr between threads.
- Ngôn ngữ chính
- C++
- Star
- 111
- Fork
- 116
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của boostorg/smart_ptr
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
-
clang-cl 9.0.1 build failuresĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Tất cả issue của boostorg/smart_ptr
Issue tương tự
-
component: split-view platform: windows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
zen-browser/desktop#15616 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/ysql kind/bug priority/medium status/awaiting-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
yugabyte/yugabyte-db#34415 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
WayfireWM/wayfire#3148 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
backend:DirectX
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
llvm/llvm-project#227530 ·
Maintainer thường phản hồi trong vòng 1 ngày