SWAT-engineering / SWAT-engineering/java-watch

Enqueue collections of events instead of individual events in `MacWatchKey`?

Đang mở
#48 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

enhancement
Ngôn ngữ chính
Java
Star
1
Fork
0
Merge trung bình
14 giờ 40 phút
Pull request đã merge (30 ngày)
1

Mô tả

Events are enqueued to the list of pending events individually in MacWatchKey. It might be faster to, before enqueueing, collect all events that are available at that point (but not yet enqueued) and enqueue the collection. Note: This is an optimization of which the need/effectiveness currently is unclear.

Further background:

  • Original comment
  • In a previous version of the library, the poller used to submit a separate job to the thread pool for each incoming event. This didn't work well in situations with many events (e.g., in the torture tests). Currently, instead, the poller collects multiple events in each job. This feature of the poller might be strengthened by using "pre-collection" as suggested in this issue (or it might not; that's to be found out).

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách đọc MacWatchKey và hành vi thu thập sự kiện hiện có của poller. Chạy torture tests để hiểu trường hợp có tốc độ sự kiện cao được mô tả trong issue, sau đó đo lường xem việc thu thập trước các sự kiện khả dụng có cải thiện trường hợp đó hay không. Công việc được xem là hoàn tất khi tác động của tối ưu hóa đã được xác lập và mọi thay đổi phát sinh đã được xác thực dựa trên các bài kiểm thử đó.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
operating-systems, performance
Loại issue
Tái cấu trúc
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
28/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.