Como as matrizes Python / Numpy escalam com o aumento das dimensões da matriz?
Isso se baseia em algum comportamento que notei ao comparar o código Python para esta pergunta: Como expressar essa expressão complicada usando fatias numpy
O problema envolveu principalmente a indexação para preencher uma matriz. Descobri que as vantagens de usar as versões Cython e Numpy (não muito boas) em um loop Python variavam dependendo do tamanho das matrizes envolvidas. Tanto o Numpy quanto o Cython experimentam uma vantagem crescente de desempenho até certo ponto (algo em torno de para Cython e N = 2000 para Numpy no meu laptop), após o qual suas vantagens diminuíram (a função Cython permaneceu a mais rápida).
Esse hardware está definido? Em termos de trabalho com matrizes grandes, quais são as práticas recomendadas que se deve aderir ao código em que o desempenho é apreciado?
Esta pergunta ( por que o meu Matrix-Vector Multiplication Scaling? ) Pode estar relacionada, mas estou interessado em saber mais sobre como as diferentes maneiras de tratar matrizes em Python escalam em relação uma à outra.