ไม่ว่าคุณจะเขียนโปรแกรมแบบเขียนเองทั้งหมด หรือให้เอไอช่วยเขียน ปัจจัยหนึ่งที่สำคัญในการพัฒนาระบบก็คือ 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