ในฐานะที่เป็นอดีตวิศวกรซอฟต์แวร์ซึ่งส่วนใหญ่ทำงานเกี่ยวกับการเขียนโปรแกรม C และ Assembly ภาษาโปรแกรมระดับต่ำ, สองภาษานี้เป็นภาษาการเขียนโปรแกรมที่มีประสิทธิภาพที่สุด เนื่องจากอยู่ใกล้กับฮาร์ดแวร์มาก
แต่เพื่อขจัดข้อสงสัยใดๆ ทีมนักวิจัยของมหาวิทยาลัยในโปรตุเกสพยายามหาปริมาณประสิทธิภาพการใช้พลังงานของภาษาโปรแกรมต่างๆ (และของคอมไพเลอร์ (Compiler)/อินเตอร์พรีเตอร์ (Interpreter)) ในบทความเรื่อง Energy Efficiency across Programming Languages ที่ตีพิมพ์ในปี 2560 โดยดูจากรันไทม์ การใช้หน่วยความจำ และการใช้พลังงานของภาษาโปรแกรมที่รู้จักกันดี 27 ภาษา, ภาษา C เป็นผู้ชนะมีประสิทธิภาพมากที่สุด ในขณะที่ Python ซึ่งตอนนี้ฉันจะเรียกว่า ภาษาการเขียนโปรแกรมของผู้ก่อมลพิษ 🙂 อยู่ที่ด้านล่างสุดของมาตราส่วนพร้อมกับ Perl
การศึกษาดำเนินการผ่านระเบียบวิธีวิจัยและเบนช์มาร์ค, แต่มาเลือกผลลัพธ์ binary-trees เพื่อแสดงจุดเริ่มต้นด้วยโค้ดที่คอมไพล์แล้ว
ผลการศึกษาสรุปได้ว่า “ภาษาที่คอมไพล์มักจะเป็นจะต้องเร็วและประหยัดพลังงานที่สุด” ภาษา C และ C++ เป็นภาษาที่มีประสิทธิภาพและรวดเร็วที่สุด, Go เป็นภาษาที่แย่ที่สุดจากหมวดหมู่ภาษาที่คอมไพล์แล้ว และมันแย่ยิ่งกว่าภาษาที่ใช้ VM เช่น Java หรือ Erlang, อย่างน้อยกับตัวอย่าง binary-trees ที่ใช้
แต่ภาษาที่ไม่มีประสิทธิภาพมากที่สุดตกเป็นของภาษาที่ตีความเช่น Perl, Lua หรือ Python และนั่นก็เป็นเพียงส่วนต่าง
ควรสังเกตว่าการทดสอบทั้งหมดดำเนินการบนเครื่องที่ใช้ Intel Core i5-4460 Haswell CPU @ 3.20GHz พร้อม RAM ขนาด 16GB และใช้งานระบบปฏิบัติการ Ubuntu Server 16.10 พร้อม Linux 4.8.0-22 เมื่อพิจารณาว่าขณะนี้ MicroPyhon ทำงานบนไมโครคอนโทรลเลอร์หลายตัว ฉันสงสัยว่ามันอาจไม่เลวร้ายเท่ากับแพลตฟอร์มเหล่านั้นที่มี footprint เล็กกว่า และคงจะน่าสนใจที่จะค้นหาความแตกต่าง
การศึกษายังจัดอันดับแต่ละภาษาด้วยการผสมผสานวัตถุประสงค์ต่างๆ ที่ผสมเวลา หน่วยความจำ และพารามิเตอร์พลังงานเข้าด้วยกัน และ ภาษา C จะอยู่ด้านบนสุดของเมตริกเหล่านั้นเสมอ เป็นที่ทราบกันมานานหลายปีแล้ว แต่ถ้าคุณต้องการเพิ่มประสิทธิภาพโปรแกรมของคุณสำหรับอายุการใช้งานแบตเตอรี่/พลังงานต่ำ กิจวัตรบางอย่างจะต้องได้รับการปรับให้เหมาะสมใน C, Assembler, คำแนะนำ SIMD หรือคำแนะนำแบบกำหนดเองสำหรับ accelerators
ที่มา : Hackaday
แปลจากบทความภาาาอังกฤษ : Save the planet! Program in C, avoid Python, Perl
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT