Python ทำงานภายในอย่างไร: จากโค้ดสู่ Bytecode
Python executes code 10x slower than C++ — ประโยคนี้ได้ยินกันบ่อย แต่ทำไมบริษัทระดับโลกยังใช้ Python รันระบบใหญ่ได้ คำตอบอยู่ที่ขั้นตอนเบื้องหลังที่ Python แปลงโค้ดของคุณเป็น bytecode ก่อนรัน บทความนี้จะพาคุณเดินตามกระบวนการนั้นทีละขั้น พร้อมโค้ดให้ลองรันเองใน VS Code TL;DR: Python (CPython) ไม่ได้อ่านโค้ดแล้วรันทีละบรรทัดโดยตรง แต่แปลงโค้ดผ่าน 5 ขั้นตอน คือ tokenize, parse, สร้าง AST, สร้าง symbol table และคอมไพล์เป็น bytecode แล้วให้ Virtual Machine แบบ stack-based รันต่อ ตั้งแต่ Python 3.11 (ตุลาคม 2022) มี adaptive interpreter ที่ทำให้เร็วขึ้น 10-60% เมื่อเทียบกับ … Read more