ในตัวอย่างนั้นได้ทำการเปรียบเทียบ C++ และ Fortran ในการคำนวณด้าน complex number ไว้ และสรุปว่าภาษา C นั้นช้ากว่าโปรแกรมที่เขียนโดย Fortran มากๆ ในการคำนวณ complex number
ผมค่อนข้างไม่เห็นด้วยกับข้อสรุปนี้ เนื่องจากยังไม่มีการเขียนเปรียบเทียบระหว่างภาษา C (ชัดๆ) และ Fortran เลย
ข้อแตกต่างระหว่าง c/c++ นอกจากความสามารถด้านคลาสแล้วยังรวมถึงไลบรารีต่างๆที่ใช้ด้วย และหนึ่งในนั้นคือไลบรารี complex ซึ่งใน C/C++ นั้นมีรายละเอียดแตกต่างกันค่อนข้างมาก
ผมลองเขียนโค้ดโดยอิงตัวแปรจากคุณ bow เป็นหลัก มาสามโปรแกรมคือ
- ภาษา C ที่เรียกใช้ complex.h ซอร์ส
- ภาษา C++ ที่เรียกใช้ complex ซอร์ส
- ภาษา C ที่ไม่เรียกใช้ complex.h ซอร์ส
ได้ผลลัพท์คือ (ดูรูปใหญ่)
จะเห็นว่าเวลาที่ได้ระหว่าง C/C++ นั้นมันต่างกันอย่างเห็นได้ชัด โดยมีอัตราการโตของเวลาที่ใช้แตกต่างกัน
จริงๆแล้วอยากเทียบกับ Fortran จังเลย แต่เขียนไม่เป็น
ปล. ระหว่างที่เขียนและรันโปรแกรมได้โหลดบิททอเรนท์อยู่ ผลลัพท์อาจผิดพลาดไปเล็กน้อย
No comments:
Post a Comment