python / python/cpython

The `LOAD_ATTR_INSTANCE_VALUE` instruction can be sped up by storing the offset of the `valid` field in the cache.

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

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

3.16 interpreter-core performance
Ngôn ngữ chính
Python
Star
77.2k
Fork
35.9k
Chỉ số merge pull request
Chỉ số pull request đang chờ

Mô tả

LOAD_ATTR_INSTANCE_VALUE needs to check the validity of the objects embedded values array.
Currently, it does that by computing the offset of the valid byte.
Instead we could store the offset in the inline cache as LOAD_ATTR_INSTANCE_VALUE has several inline cache entries to spare.

The check is done in the _CHECK_MANAGED_OBJECT_HAS_VALUES uop.

Linked PRs
  • gh-153122

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

Mở hướng dẫn đóng góp

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 với instruction LOAD_ATTR_INSTANCE_VALUE và uop _CHECK_MANAGED_OBJECT_HAS_VALUES trong phần triển khai interpreter của CPython. Xem cách các mục inline cache của instruction được định nghĩa và cách offset của validity byte hiện được tính toán. Công việc được hoàn tất khi offset được lưu trong một mục inline cache còn trống và phép kiểm tra validity sử dụng nó, đồng thời các test và benchmark liên quan vẫn pass.

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

Đánh giá

Công nghệ
python
Lĩnh vực
performance
Loại issue
Tái cấu trúc
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
35/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.