Articles of rendimiento

El tiempo de ejecución de multiproceso de Python por proceso aumenta con la cantidad de procesos

Tengo un grupo de trabajadores que realizan la misma tarea idéntica y les envío a cada uno un clon distinto del mismo objeto de datos. Luego, mido el tiempo de ejecución por separado para cada proceso dentro de la función de trabajo. Con un proceso, el tiempo de ejecución es de 4 segundos. Con 3 […]

Punteros de función Boost.Python como argumento de constructor de clase

Tengo una clase de C ++ que requiere un puntero a función en su constructor ( float(*myfunction)(vector*) ) Ya he expuesto algunos punteros de función a Python. La forma ideal de usar esta clase es algo como esto: import mymodule mymodule.some_class(mymodule.some_function) Así que le digo a Boost sobre esta clase así: class_(“some_class”, init<float(*)(vector*)>); Pero me […]

¿Hay una biblioteca para evaluar mi aplicación Django para solicitudes de SQL?

Tengo una gran aplicación de Django compleja que utilizamos que hace muchas cosas. Al mirar la barra de herramientas de depuración de Django, algunas de nuestras vistas realizan muchas solicitudes de SQL. Quiero boost el rendimiento de la misma reduciendo la cantidad de solicitudes SQL (por ejemplo, agregando más consultas relacionadas con select_related , más […]

¿Cuál es la forma más eficiente de obtener devoluciones de registros en números?

¿Cuál es la solución más rápida y elegante para construir una secuencia de devoluciones de registros? El problema radica principalmente en la asignación de una función que toma los elementos i’th y (i + 1) ‘th como entradas para cada elemento de la matriz. Para una función y una matriz simple, puedo definir los resultados […]

Cómo medir la velocidad de una función python

Normalmente escribo códigos (funciones) en www.codefights.com como competidor. Por lo tanto, la velocidad es una de las partes importantes del código. ¿Cómo puedo medir la velocidad de un determinado código en lenguaje python, ya sea la función lambda o la función def?

Rendimiento de enmascaramiento de matriz numpy en Cython

Como seguimiento de esta pregunta aquí (gracias a MSeifert por su ayuda) se me ocurrió el problema de que tengo que enmascarar una matriz numpy new_values ​​con una matriz de índice new_vals_idx antes de pasar la matriz enmascarada para actualizar val_dict . A las soluciones propuestas en respuesta a MSeifert en el post anterior, intenté […]

pandas pytables agregar: rendimiento y aumento en el tamaño del archivo

Tengo más de 500 tiendas PyTables que contienen aproximadamente 300Mb de datos cada una. Me gustaría fusionar estos archivos en una gran tienda, append pandas como se append en el código a continuación. def merge_hdfs(file_list, merged_store): for file in file_list: store = HDFStore(file, mode=’r’) merged_store.append(‘data’, store.data) store.close() La operación de adición es muy lenta (tarda […]

Multiplicando matriz 2D muy grande en Python

Tengo que multiplicar arrays 2D muy grandes en Python por alrededor de 100 veces. Cada matriz consta de 32000×32000 elementos. Estoy usando np.dot(X,Y) , pero toma mucho tiempo para cada multiplicación … Debajo de una instancia de mi código: import numpy as np X = None for i in range(100) multiplying = True if X […]

Mejorando la velocidad de Numpy para Gauss-Seidel (Jacobi) Solver

Esta pregunta es una continuación de una pregunta reciente publicada sobre MATLAB que es dos veces más rápida que Numpy . Actualmente tengo un solucionador de Gauss-Seidel implementado tanto en MATLAB como en Numpy, que actúa en un dominio asimétrico en 2D (coordenadas cilíndricas). El código se escribió originalmente en MATLAB y luego se transfirió […]

Acelera un progtwig que calcula el promedio de los vecinos en una gran variedad

Tengo un problema con la velocidad de mi progtwig. Quiero calcular el promedio de cuatro vecinos en una gran variedad. Aquí hay una parte de mi código. ¿Tienes alguna idea de cómo cambiar la última línea? ¿O debería usar otra matriz? for a in np.arange(100000): for x in np.arange(size): for y in np.arange(size): if unchangeableflag[x*size+y] […]