python / python/cpython

Minor optimization for set object, swap bodies

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

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

interpreter-core performance type-feature
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ả

Based on this observation:

https://github.com/python/cpython/pull/132290#discussion_r2403137517

set_swap_bodies is only called in two locations in this file. For both cases the second argument b is a newly created temporary which is discarded afterwards. So we could replace part (all?) of these branches with asserts. Part of the other work (e.g. copying back to b) might not be needed for the same reason.

We should investigate this idea and see if it's worth it.

Linked PRs
  • gh-148155

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 bằng cách đọc set_swap_bodies và hai vị trí gọi nó trong tệp được tham chiếu, sau đó xem lại phần thảo luận được liên kết trong PR 132290. Kiểm tra xem đối số thứ hai tạm thời có luôn bị loại bỏ hay không và việc sao chép ngược lại có cần thiết hay không. Hoàn tất khi xác định và ghi lại được liệu việc đơn giản hóa được đề xuất có giữ nguyên hành vi hay không; PR 148155 cho biết công việc này đã được tiến hành.

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
backend
Loại issue
Tái cấu trúc
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
20/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.