Đôi khi biên dịch các hàm gọi nội tuyến. Điều đó có nghĩa là họ di chuyển mã của hàm được gọi vào hàm gọi. Điều này làm cho mọi thứ nhanh hơn một chút vì không cần phải đẩy và bật các thứ trên và ngoài ngăn xếp cuộc gọi.
Vì vậy, câu hỏi của tôi là, tại sao không biên dịch nội tuyến tất cả mọi thứ? Tôi cho rằng nó sẽ làm cho việc thực thi nhanh hơn đáng kể.
Lý do duy nhất tôi có thể nghĩ đến là một tệp thực thi lớn hơn đáng kể, nhưng nó có thực sự quan trọng trong những ngày này với hàng trăm GB bộ nhớ không? Không phải hiệu suất được cải thiện có đáng không?
Có bất kỳ lý do nào khác tại sao trình biên dịch không chỉ nội tuyến tất cả các lệnh gọi hàm không?
Isn't the improved performance worth it?
Đối với một phương thức sẽ chạy một vòng lặp 100 lần và xử lý một số con số nghiêm trọng, thì việc chuyển 2 hoặc 3 đối số sang các thanh ghi CPU là không có gì.