การคำนวณจุดลอยตัวเทียบกับจำนวนเต็มบนฮาร์ดแวร์สมัยใหม่
ฉันกำลังทำงานที่มีความสำคัญต่อประสิทธิภาพใน C ++ และขณะนี้เรากำลังใช้การคำนวณจำนวนเต็มสำหรับปัญหาที่เกิดจากจุดลอยตัวเนื่องจาก "เร็วกว่า" สิ่งนี้ทำให้เกิดปัญหาที่น่ารำคาญมากมายและเพิ่มรหัสที่น่ารำคาญมากมาย ตอนนี้ฉันจำได้ว่าอ่านเกี่ยวกับวิธีการคำนวณจุดลอยตัวช้ามากประมาณ 386 วันซึ่งฉันเชื่อว่า (IIRC) มีตัวเลือกร่วมที่เป็นตัวเลือก แต่ในปัจจุบันด้วยซีพียูที่ซับซ้อนและทรงพลังมากขึ้นอย่างทวีคูณทำให้ "ความเร็ว" ไม่แตกต่างกันหากทำการคำนวณทศนิยมหรือจำนวนเต็ม? โดยเฉพาะอย่างยิ่งเนื่องจากเวลาในการคำนวณจริงนั้นมีขนาดเล็กเมื่อเทียบกับบางสิ่งเช่นการทำให้ท่อตันหรือดึงข้อมูลจากหน่วยความจำหลัก? ฉันรู้ว่าคำตอบที่ถูกต้องคือการเปรียบเทียบกับฮาร์ดแวร์เป้าหมายวิธีที่ดีในการทดสอบสิ่งนี้คืออะไร? ฉันเขียนโปรแกรม C ++ เล็ก ๆ สองโปรแกรมและเปรียบเทียบเวลาทำงานกับ "เวลา" บน Linux แต่เวลาทำงานจริงนั้นแปรปรวนเกินไป (ไม่ได้ช่วยให้ฉันทำงานบนเซิร์ฟเวอร์เสมือน) การใช้เวลาทั้งวันของฉันไม่เพียงพอกับการใช้เกณฑ์มาตรฐานหลายร้อยรายการการสร้างกราฟ ฯลฯ มีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อทดสอบความเร็วสัมพัทธ์ที่สมเหตุสมผล ความคิดหรือความคิด? ฉันผิดเต็ม ๆ เหรอ? โปรแกรมที่ฉันใช้ดังต่อไปนี้ไม่เหมือนกันโดยวิธีใด ๆ : #include <iostream> #include <cmath> #include <cstdlib> #include <time.h> int main( int argc, char** …