Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ทำไม Python ถึงช้ากว่าภาษาอื่น?


Python เป็นภาษาสคริปต์ในขณะที่ C เป็นภาษาโปรแกรม C/C++ นั้นค่อนข้างเร็วเมื่อเทียบกับ Python เพราะเมื่อคุณรันสคริปต์ Python ล่ามของมันจะแปลสคริปต์ทีละบรรทัดและสร้างเอาต์พุต แต่ใน C คอมไพเลอร์จะคอมไพล์มันก่อนและสร้างเอาต์พุตที่ได้รับการปรับให้เหมาะสมที่สุด ฮาร์ดแวร์ ในกรณีที่ภาษาอื่นๆ เช่น Java และ.NET, Java bytecode และ .NET bytecode ทำงานเร็วกว่า Python ตามลำดับ เนื่องจากคอมไพเลอร์ JIT จะคอมไพล์ bytecode เป็นโค้ดเนทีฟที่รันไทม์ CPython ไม่สามารถมีคอมไพเลอร์ JIT ได้ เนื่องจากลักษณะไดนามิกของ Python ทำให้เขียนได้ยาก

ทำไม Python ถึงช้ากว่าภาษาอื่น?

ความแตกต่าง

อย่างที่เราทราบ Python เป็นภาษาที่แปลแล้ว ในขณะที่ C เป็นภาษาที่คอมไพล์ โค้ดที่ตีความจะช้ากว่าโค้ดเครื่องโดยตรงเสมอ เนื่องจากต้องใช้คำสั่งจำนวนมากในการดำเนินการคำสั่งที่แปลแล้ว มากกว่าการนำคำสั่งเครื่องจริงไปใช้ ก่อนที่โปรแกรมจะสามารถทำงานได้จริง CPU ควรทำความเข้าใจคำสั่ง Python ดังนั้นล่าม Python จึงตรวจสอบแต่ละคำสั่งตามกฎของภาษา Python เช่น การจัดสรรหน่วยความจำสำหรับการจัดเก็บตัวแปร การแยกช่องว่างและความคิดเห็นจากโปรแกรมและงานอื่นๆ ที่เกี่ยวข้อง กระบวนการนี้ทำซ้ำสำหรับแต่ละบรรทัดของโปรแกรม และเพิ่มค่าโสหุ้ยในการดำเนินการโปรแกรมอย่างมาก

ทำไม Python ถึงช้ากว่าภาษาอื่น?

C รวดเร็ว

ในทางกลับกัน C ไม่ได้ใช้เวลามากในการตรวจสอบซอร์สโค้ดอีกครั้งและแปลงเป็นคำสั่งของ CPU อย่างรวดเร็ว ก่อนดำเนินการ คอมไพเลอร์แยกต่างหากจะแปลงโปรแกรมภาษามนุษย์เป็นคำสั่งของ CPU ตรวจสอบข้อผิดพลาด จัดสรรหน่วยความจำและตัวแปร ตัดความคิดเห็นและช่องว่าง และปรับคำสั่งที่เป็นผลลัพธ์ให้เหมาะสม ผลลัพธ์ของโค้ดที่คอมไพล์แล้วจะเชื่อมโยงกับโค้ดที่สร้างไว้ล่วงหน้าอื่นๆ และด้วยเหตุนี้ คุณจะได้รับคำสั่ง CPU ที่มั่นคง ซึ่งพร้อมที่จะทำงานที่ได้รับมอบหมายโดยไม่ต้องเตรียมการมาก ภายใน สาเหตุของการรันโค้ด Python ช้ากว่าคือโค้ดถูกตีความตอนรันไทม์ แทนที่จะคอมไพล์เป็นโค้ดเนทีฟในขณะคอมไพล์