Bagaimana skala array Python / Numpy dengan dimensi array yang meningkat?
Ini didasarkan pada beberapa perilaku yang saya perhatikan ketika membandingkan kode Python untuk pertanyaan ini: Cara mengekspresikan ekspresi rumit ini menggunakan irisan numpy
Masalahnya sebagian besar melibatkan pengindeksan untuk mengisi array. Saya menemukan bahwa keuntungan menggunakan (tidak-sangat-baik) versi Cython dan Numpy atas loop Python bervariasi tergantung pada ukuran array yang terlibat. Baik Numpy dan Cython mengalami keunggulan kinerja yang meningkat hingga titik tertentu (di suatu tempat sekitar untuk Cython dan N = 2000 untuk Numpy di laptop saya), setelah itu keuntungan mereka menurun (fungsi Cython tetap yang tercepat).
Apakah perangkat keras ini didefinisikan? Dalam hal bekerja dengan array besar, praktik terbaik apa yang harus dipatuhi untuk kode di mana kinerja dihargai?
Pertanyaan ini ( Mengapa Scaling Matriks-Vektor Multiplikasi saya? ) Mungkin tidak terkait, tapi saya tertarik mengetahui lebih banyak tentang bagaimana berbagai cara memperlakukan array dalam skala Python relatif satu sama lain.