ฉันเดาว่ามันเป็นวิธีที่จะทำให้แอพที่ไม่ได้ใช้งานเลยทำงานได้ดีขึ้นเล็กน้อย นี่คือความคิดของฉันเกี่ยวกับเรื่องนี้
x86 OSes (และฉันนึกภาพคนอื่น ๆ ) จำเป็นต้องเก็บสถานะ FPU ไว้ที่ context switch อย่างไรก็ตามระบบปฏิบัติการส่วนใหญ่มักจะรำคาญที่จะบันทึก / กู้คืนสถานะนี้หลังจากที่แอปพยายามใช้ FPU เป็นครั้งแรก
นอกจากนี้อาจมีรหัสพื้นฐานบางอย่างในไลบรารีคณิตศาสตร์ซึ่งจะตั้งค่า FPU ให้เป็นสถานะฐานสติเมื่อโหลดไลบรารี
ดังนั้นหากคุณไม่เชื่อมโยงในโค้ดคณิตศาสตร์ใด ๆ เลยสิ่งนี้จะไม่เกิดขึ้นดังนั้นระบบปฏิบัติการไม่จำเป็นต้องบันทึก / กู้คืนสถานะ FPU ใด ๆ เลยทำให้การสลับบริบทมีประสิทธิภาพมากขึ้นเล็กน้อย
เพียงแค่เดาว่า
แก้ไข:ในการตอบสนองต่อความคิดเห็นบางส่วนหลักฐานพื้นฐานเดียวกันยังคงใช้กับกรณีที่ไม่ใช่ FPU (หลักฐานยืนยันว่าเป็นการสร้างแอปที่ไม่ทำให้การใช้ libm ทำงานได้ดีขึ้นเล็กน้อย)
ตัวอย่างเช่นหากมี soft-FPU ซึ่งเป็น likley ในช่วงต้นของ C จากนั้นการแยก libm สามารถป้องกันโค้ดขนาดใหญ่ (และช้าถ้าใช้) จากการเชื่อมโยงโดยไม่จำเป็น
นอกจากนี้หากมีการเชื่อมโยงแบบสแตติกพร้อมใช้งานเท่านั้นอาร์กิวเมนต์ที่คล้ายกันจะมีผลบังคับใช้ซึ่งจะทำให้ขนาดที่สามารถเรียกใช้งานได้และเวลาการคอมไพล์ลดลง