ทดสอบประสิทธิภาพ AVR/Code & Arduino/Code
คอลัมน์ "แกะเกา ARDUINO by APPSOFTTECH"
ผู้เขียน: Prajin Palangsantikul (www.appsofttech.com)
ในความเป็นจริงเรารู้กันอยู่แล้วครับว่า การเขียนโค้ดด้วย AVR/Code จะทำงานได้เร็วกว่าการเขียนโค้ดด้วย Arduino/Code การเปรียบเทียบนี้เรามองกันในเชิงประสิทธิภาพเท่านั้นนะครับ เพราะการเขียนโค้ดแบบ AVR/Code สิ่งเหล่านี้จะต้องแลกด้วยเวลาในการศึกษาเชิงลึกทางด้านไมโครคอนโทรลเลอร์ AVR และต้องเสียเวลาไปกับสิ่งเหล่านี้ แต่ถ้าต้องการความรวดเร็วทางเลือกด้วย Arduino/Code อาจเป็นหนทางที่ดี
จากรูปจะเห็นได้ว่าเมื่อเขียนด้วยโค้ด AVR/Code จะใช้เวลาในการทำงานเพียง 10062 มิลลิวินาที ซึ่งน้อยกว่าการเขียนโค้ดด้วย Arduino/Code ซึ่งใช้เวลา เท่ากับ 10080 มิลลิวินาที ในการวนลูปแสดงการติดดับของ LED 1 ดวงด้วยจำนวนการวนลูปเท่ากับ 5000 รอบ
สิ่งเหล่านี้ผู้พัฒนางานคงต้องเป็นคนตัดสินใจเองครับ ว่าจะเลือกทางไหน แต่สิ่งที่อยากจะบอกคือ "ความยืดหยุ่นของตัวเราเป็นสิ่งสำคัญและจำเป็นอย่างยิ่ง"
โค้ดโปรแกรมนี้ แค่ทดสอบการจับเวลาเมื่อมีการเขียนค่าไปที่พอร์ต โดยโค้ดทุกอย่างเหมือนกัน ยกเว้น
และไม่ได้สนใจว่าโค้ดทดสอบจะถูกต้อง 100% ในแง่เชิงการวัดประสิทธิภาพการทำงานโปรแกรม
ปล. มีนักพัฒนาได้สร้างโค้ดไลบรารีการเข้าถึงพอร์ตแบบ AVR/Code ให้เหล่านักพัฒนา Arduino ใช้ เมื่อมีความจำเป็นที่ต้องเข้าถึงพอร์ตอย่างรวดเร็ว
ผู้เขียน: Prajin Palangsantikul (www.appsofttech.com)
ในความเป็นจริงเรารู้กันอยู่แล้วครับว่า การเขียนโค้ดด้วย AVR/Code จะทำงานได้เร็วกว่าการเขียนโค้ดด้วย Arduino/Code การเปรียบเทียบนี้เรามองกันในเชิงประสิทธิภาพเท่านั้นนะครับ เพราะการเขียนโค้ดแบบ AVR/Code สิ่งเหล่านี้จะต้องแลกด้วยเวลาในการศึกษาเชิงลึกทางด้านไมโครคอนโทรลเลอร์ AVR และต้องเสียเวลาไปกับสิ่งเหล่านี้ แต่ถ้าต้องการความรวดเร็วทางเลือกด้วย Arduino/Code อาจเป็นหนทางที่ดี
จากรูปจะเห็นได้ว่าเมื่อเขียนด้วยโค้ด AVR/Code จะใช้เวลาในการทำงานเพียง 10062 มิลลิวินาที ซึ่งน้อยกว่าการเขียนโค้ดด้วย Arduino/Code ซึ่งใช้เวลา เท่ากับ 10080 มิลลิวินาที ในการวนลูปแสดงการติดดับของ LED 1 ดวงด้วยจำนวนการวนลูปเท่ากับ 5000 รอบ
สิ่งเหล่านี้ผู้พัฒนางานคงต้องเป็นคนตัดสินใจเองครับ ว่าจะเลือกทางไหน แต่สิ่งที่อยากจะบอกคือ "ความยืดหยุ่นของตัวเราเป็นสิ่งสำคัญและจำเป็นอย่างยิ่ง"
โค้ดโปรแกรมนี้ แค่ทดสอบการจับเวลาเมื่อมีการเขียนค่าไปที่พอร์ต โดยโค้ดทุกอย่างเหมือนกัน ยกเว้น
- AVR/Code
ใช้สไตล์การเขียนค่าไปที่พอร์ตด้วยโค้ดแบบ AVR - Arduino/Code
ใช้สไตล์การเขียนค่าไปที่พอร์ตด้วยโค้ดแบบ Arduino
และไม่ได้สนใจว่าโค้ดทดสอบจะถูกต้อง 100% ในแง่เชิงการวัดประสิทธิภาพการทำงานโปรแกรม
ปล. มีนักพัฒนาได้สร้างโค้ดไลบรารีการเข้าถึงพอร์ตแบบ AVR/Code ให้เหล่านักพัฒนา Arduino ใช้ เมื่อมีความจำเป็นที่ต้องเข้าถึงพอร์ตอย่างรวดเร็ว
ความคิดเห็น
แสดงความคิดเห็น