Some (mostly) easy ways to reduce the size of JIT generated code
@corona10 đang làm issue này rồi.
Từ ngày 24/3/2026.
- 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ả
Reducing the size of JIT generated code makes it faster, often super-linearly as there is less code to execute and less code to fill caches.
Looking at the top instructions from old but mostly still valid stats there are a few opportunities to reduce code size:
_SET_IP
Most uses of _SET_IP are setting the ip just in case something wants to inspect it. For these cases, we could store a 16 bit offset instead of the full 64 bit pointer. Code that reads the instruction pointer would need updating, but this should reduce the overhead of _SET_IP by more than half.
_LOAD_CONST_INLINE_BORROW and similar
We can do the tagging when generating the code, instead of while executing. This only saves a single instruction, but it helps.
_LOAD_FAST_BORROW
We already replicate _LOAD_FAST_BORROW, but that still leaves most _LOAD_FAST_BORROW using the slower version, and bloating the stencils.
We could manually generate the code, it is only a couple of instructions, reducing stencil bloat and covering all operands
Linked PRs
- gh-148081
- gh-148217
- gh-148436
Hướng dẫn đóng góp
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.
Đánh giá
Issue này chưa được đánh giá.