Python / Numpy arrays ปรับขนาดอย่างไรเมื่อเพิ่มขนาดอาเรย์
สิ่งนี้ขึ้นอยู่กับพฤติกรรมบางอย่างที่ฉันสังเกตเห็นในขณะทำการเปรียบเทียบรหัส Python สำหรับคำถามนี้: วิธีแสดงนิพจน์ที่ซับซ้อนนี้โดยใช้ชิ้นส่วนที่เป็นก้อน
ปัญหาส่วนใหญ่เกี่ยวข้องกับการทำดัชนีเพื่อเติมอาเรย์ ฉันพบว่าข้อดีของการใช้ Cython และ Numpy (ไม่ดีมาก) กับ Python loop แตกต่างกันไปขึ้นอยู่กับขนาดของอาร์เรย์ที่เกี่ยวข้อง ทั้ง Numpy และ Cython มีความได้เปรียบด้านประสิทธิภาพที่เพิ่มขึ้นจนถึงจุดหนึ่ง (บางแห่งมีขนาดประมาณสำหรับ Cython และN = 2000สำหรับ Numpy บนแล็ปท็อปของฉัน) หลังจากนั้นข้อดีของมันก็ลดลง (ฟังก์ชัน Cython ยังคงเร็วที่สุด)
ฮาร์ดแวร์นี้ถูกกำหนดหรือไม่? ในแง่ของการทำงานกับอาร์เรย์ขนาดใหญ่แนวทางปฏิบัติที่ดีที่สุดที่ควรปฏิบัติตามสำหรับรหัสที่ประสิทธิภาพนั้นได้รับการชื่นชมคืออะไร
คำถามนี้ ( เพราะเหตุใดการปรับขนาดการคูณเมทริกซ์ - เวกเตอร์ของฉันไม่ได้ ) อาจเกี่ยวข้องกัน แต่ฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการที่แตกต่างกันของวิธีการรักษาอาร์เรย์ในระดับไพ ธ อนเมื่อเทียบกัน