Come si adattano le matrici Python / Numpy all'aumentare delle dimensioni dell'array?
Questo si basa su alcuni comportamenti che ho notato durante il benchmarking del codice Python per questa domanda: Come esprimere questa espressione complicata usando le sezioni intorpidite
Il problema riguardava principalmente l'indicizzazione per popolare un array. Ho scoperto che i vantaggi dell'utilizzo delle versioni (non molto buone) di Cython e Numpy su un loop Python variavano a seconda della dimensione degli array coinvolti. Sia Numpy che Cython presentano un vantaggio prestazionale crescente fino a un certo punto (da qualche parte intorno a per Cython e per Numpy sul mio laptop), dopo di che i loro vantaggi sono diminuiti (la funzione Cython è rimasta la più veloce).
Questo hardware è definito? In termini di lavoro con array di grandi dimensioni, quali sono le migliori pratiche a cui si dovrebbe aderire per il codice in cui le prestazioni sono apprezzate?
Questa domanda ( perché non è la mia matrice-vettore Moltiplicazione Scaling? ) Può essere correlato, ma io sono interessato a sapere di più su come i diversi modi di trattare gli array in Python scala rispetto all'altro.