[Dev] ทดสอบคำสั่ง If-Else เทียบกับ Switch-Case บน Android ใครเจ๋ง เดี๋ยวรู้กัน

ต่อจากบทความตอน ทดสอบคำสั่ง If ในรูปแบบต่าง ๆ บน Android กันหน่อย คราวนี้จะมาลองทดสอบคำสั่ง If-Else เทียบกับ Switch-Case กันบ้าง

Android-Developer-logo_Benchmark-If-vs-Switch

โดยคราวนี้ขอเปลี่ยนโจทย์เล็กน้อย เป็นการสุ่มค่า 0-4 แล้วเขียนคำสั่งเงื่อนไข แปลงเลข 0-4 เป็นเกรด ดังตารางนี้

ข้อมูล เกรด
4 A
3 B
2 C
1 D
0 F

เอาละ… ไปลง Code กันเลย…

 

If-Else

สำหรับ If-Else ก็ง่าย ๆ เลย แบบนี้

 

Switch-Case

ถ้าเขียนแบบ Switch-Case ก็จะออกมาเป็บแบบนี้

 

Benchmark

ถึงเวลาวัดผลกันแล้วล่ะ~!! โดยจะใช้ Loop ครอบคำสั่งแบบเดียวกับบทความที่แล้ว ดังนี้

ทดสอบด้วย Input 10,000,000 ตัว บน Nexus S Android 4.1.1 กับ Nexus 4 Android 5.0 ใน Genymotion ได้ผลดังนี้

ผลการ Benchmark If-Else เทียบกับ Switch-Case บน Nexus S Android 4.1.1
ผลการ Benchmark If-Else เทียบกับ Switch-Case บน Nexus S Android 4.1.1
ผลการ Benchmark If-Else เทียบกับ Switch-Case บน Nexus 4 Android 5.0
ผลการ Benchmark If-Else เทียบกับ Switch-Case บน Nexus 4 Android 5.0

จะเห็นว่า ผลออกมา ใกล้เคียงกันอีกแล้ว

 

สำหรับผลการทดสอบจากทางบ้าน ผมจะอัพเดตไว้ตรงนี้นะครับ ขอบคุณที่ร่วมทดสอบครับ

 

ในตอนหน้า จะทำการ Benchmark คำสั่ง Loop ในแต่ละรูปแบบดูบ้าง รอติดตามกันนะครับ

ส่วนใครสนใจอยากดู Code เต็ม ๆ ไปดูได้ที่ GitHub นะครับ หรืออยาก Benchmark คำสั่งอื่น ๆ ก็ Fork ไปทำได้เลยนะ อย่าลืม Pull Request มาด้วยนะครับ จะได้เอามารวบรวมไว้ที่เดียวกัน

ส่วนใครอยากลองรันโปรแกรมดูบ้าง สามารถ Download apk ไปรันดูได้ครับ แล้วอย่าลืมรายงานผลบ้างนะ…

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.