บางครั้งคอมไพเลอร์เรียกฟังก์ชั่นแบบอินไลน์ นั่นหมายความว่าพวกเขาย้ายรหัสของฟังก์ชั่นที่เรียกว่าเป็นฟังก์ชั่นการโทร สิ่งนี้ทำให้สิ่งต่าง ๆ เร็วขึ้นเล็กน้อยเนื่องจากไม่จำเป็นต้องกดและวางสิ่งต่าง ๆ ในและนอกกองการโทร
ดังนั้นคำถามของฉันคือทำไมไม่คอมไพเลอร์แบบอินไลน์ทุกอย่าง? ฉันคิดว่ามันจะทำให้การปฏิบัติการเร็วขึ้นอย่างเห็นได้ชัด
เหตุผลเดียวที่ฉันคิดได้ก็คือปฏิบัติการที่มีขนาดใหญ่กว่าอย่างมาก แต่ในปัจจุบันนี้มีหน่วยความจำหลายร้อย GB หรือไม่ ประสิทธิภาพที่ปรับปรุงแล้วไม่คุ้มค่าใช่หรือไม่
มีเหตุผลอื่นใดที่คอมไพเลอร์ไม่เพียงแค่อินไลน์การเรียกใช้ฟังก์ชันทั้งหมดหรือไม่
Isn't the improved performance worth it?
สำหรับวิธีการที่จะใช้วนรอบ 100 ครั้งและกระทืบตัวเลขร้ายแรงบางอย่างค่าใช้จ่ายในการย้ายอาร์กิวเมนต์ 2 หรือ 3 ไปยังการลงทะเบียน CPU คืออะไร