Articles of rendimiento

Python: ¿Hay alguna manera de evitar que ocurra una conversión automática de int a long int?

Python está más fuertemente tipado que otros lenguajes de scripting. Por ejemplo, en Perl: perl -E ‘$c=5; $d=”6″; say $c+$d’ #prints 11 Pero en Python: >>> c=”6″ >>> d=5 >>> print c+d Traceback (most recent call last): File “”, line 1, in TypeError: cannot concatenate ‘str’ and ‘int’ objects Perl inspeccionará una cadena y la […]

¿Cuál es la forma más rápida de generar un DataFrame grande en un archivo CSV?

Para python / pandas, encuentro que df.to_csv (fname) funciona a una velocidad de ~ 1 millón de filas por minuto. A veces puedo mejorar el rendimiento por un factor de 7 como este: def df2csv(df,fname,myformats=[],sep=’,’): “”” # function is faster than to_csv # 7 times faster for numbers if formats are specified, # 2 times […]

¿Cómo acelerar la sum de fotogtwigs de datos multinivel de Pandas?

Estoy tratando de acelerar la sum de varios marcos de datos de varios niveles grandes. Aquí hay una muestra: df1 = mul_df(5000,30,400) # mul_df to create a big multilevel dataframe #let df2, df3, df4 = df1, df1, df1 to minimize the memory usage, #they can also be mul_df(5000,30,400) df2, df3, df4 = df1, df1, df1 […]

El conjunto de pruebas de rendimiento de Django que informará sobre métricas (consultas de base de datos, etc.)

Tengo una aplicación web de Django compleja que tiene muchos años de trabajo por persona. Puede que necesite optimización alguna vez. Hay varias operaciones / flujos comunes que podría escribir con (digamos) el cliente de prueba de django. ¿Hay algún progtwig que, dado un script de Python como ese, se ejecutará en ese momento, e […]

expresiones regulares ‘|’ Operador vs carreras separadas para cada sub-expresión

Tengo una cadena bastante grande (~ 700k) contra la que necesito ejecutar 10 expresiones regulares y contar todas las coincidencias de cualquiera de las expresiones regulares. Mi implementación rápida y sucia era hacer algo como re.search (‘(expr1) | (expr2) | …’), pero me preguntaba si veríamos alguna mejora en el rendimiento al hacer coincidir en […]

rendimiento – statement o expresión?

Entonces, he estado leyendo esto y me enteré de cómo enviar valores al generador. Y ahora estoy un poco confundido. ¿Es el rendimiento una statement o una expresión? No usa la syntax de paréntesis, como funciones, por lo que parece una statement. Pero devuelve valor, por lo que es como expresión. No hace mucho tiempo […]

Leer en archivo grande y hacer diccionario.

Tengo un archivo grande que necesito leer y crear un diccionario. Me gustaría que esto fuera lo más rápido posible. Sin embargo, mi código en python es demasiado lento. Aquí hay un ejemplo mínimo que muestra el problema. Primero haz algunos datos falsos paste <(seq 20000000) largefile.txt Ahora aquí hay una pieza mínima de código […]

¿Cómo usar SQLAlchemy para volcar un archivo SQL de expresiones de consulta para insertarlo de forma masiva en un DBMS?

Por favor tenga paciencia conmigo cuando explique el problema, cómo traté de resolverlo y mi pregunta sobre cómo mejorarlo está al final. Tengo un archivo csv de 100.000 líneas de un trabajo por lotes sin conexión y necesitaba insertarlo en la base de datos como sus modelos adecuados. Por lo general, si se trata de […]

Encontrando vecinos más cercanos a una tesellación triangular.

Tengo una teselación triangular como la que se muestra en la figura. Dado el número N de triangularjs en la teselación, tengo una matriz NX 3 X 3 que almacena las coordenadas (x, y, z) de los tres vértices de cada triángulo. Mi objective es encontrar para cada triángulo el triángulo vecino que comparte el […]

Lista de eficiencia de indexación (python 2 vs python 3)

Al responder a otra pregunta , sugerí usar timeit para probar la diferencia entre indexar una lista con enteros positivos y enteros negativos. Aquí está el código: import timeit t=timeit.timeit(‘mylist[99]’,setup=’mylist=list(range(100))’,number=10000000) print (t) t=timeit.timeit(‘mylist[-1]’,setup=’mylist=list(range(100))’,number=10000000) print (t) Corrí este código con Python 2.6: $ python2.6 test.py 0.587687015533 0.586369991302 Luego lo ejecuté con python 3.2: $ python3.2 test.py […]