ใครว่าภาษาที่ใช้ในการเขียนโปรแกรมไม่สำคัญ

ไม่ว่าคุณจะเขียนโปรแกรมแบบเขียนเองทั้งหมด หรือให้เอไอช่วยเขียน ปัจจัยหนึ่งที่สำคัญในการพัฒนาระบบก็คือ Output หรือผลลัพธ์ที่ได้มันทำงานได้มีประสิทธิภาพขนาดไหน

งานออกมาหน้าตาเหมือนกัน แต่ประสิทธิภาพการทำงานต่างกัน หากคุณเลือกใช้เครื่องมือในการพัฒนาที่ไม่เหมือนกัน ดังนั้น การมีความรู้ในเรื่องเครื่องมือที่จะใช้ก็มีผลต่อผลงานเป็นอย่างมาก ไม่ใช่เพียงแค่ Prompt ให้เอไอทำให้โดยที่เราไม่ได้รู้รายละเอียดอะไรเลย

Metric A B C
Binary Size 3-15 MB 10-25 MB N/A (runtime required)
Memory (idle) 2-15 MB 5-20 MB 30-100 MB
Memory (loaded) 10-100 MB 50-500 MB 200 MB-2+ GB
p50 Latency 0.1-5 ms 1-10 ms 5-50 ms
p99 Latency 1-20 ms 5-50 ms 50-500+ ms
Startup Time <50 ms <100 ms 100-500 ms
GC Overhead None Low (25-50% heap) Medium-High
CPU Efficiency Excellent Very Good Good

ตารางด้านบนเป็นตารางเปรียบเทียบคร่าวๆในการพัฒนา Web Applcaition ด้วยภาษาที่ต่างกัน 3 ภาษา

  • Binary Size บอกว่าโปรแกรมเราที่ build ออกมาแล้วมีขนาดใหญ่เล็กขนาดไหน แต่ก็จะมีบางภาษาที่ต้อง upload เป็น script ขึ้นไปบน server ซึ่ง script แบบนี้จะไม่สามารถสร้างเป็น binary file ได้ บางครั้ง script เหล่านี้รวมถึง Library ที่เกี่ยวข้องอาจมีขนาดหลายร้อยเมกกะไบต์ได้
  • Memory เป็นตัวบอกว่าเมื่อโปรแกรมเราทำงานอยู่จะใช้หน่วยความจำมากน้อยขนาดไหน ซึ่งจะมีผลต่อการเลือกขนาดของ Server ที่จะใช้งาน และส่งผลต่อราคาการเช่า Server อีกด้วย
  • Latency เป็นตัววัดที่บอกว่ามันจะตอบสนองต่อการทำงานของผู้ใช้งานช้าเร็วขนาดไหน

นี่เป็นเพียงตัววัดคร่าวๆที่แสดงให้เห็นว่า การเลือกใช้เครื่องมือในการพัฒนาระบบที่เหมาะสมจะส่งผลกับเรื่องอื่นๆอีกหลายอย่างในแบบที่หลายคนนึกไม่ถึง


ภาพประกอบ: 1