Articles of performance

dataframe pandas: loc vs rendimiento de consulta

Tengo 2 marcos de datos en python que me gustaría consultar para obtener datos. DF1: 4M registros x 3 columnas. La función de consulta es más eficiente que la función loc. DF2: 2K registros x 6 columnas. La función loc se ve mucho más eficiente que la función de consulta. Ambas consultas devuelven un solo […]

¿Hay una manera más rápida de agregar dos matrices numpy 2-d

Digamos que tengo dos matrices numpy 2-d grandes de las mismas dimensiones (digamos 2000×2000). Quiero sumrlos a los elementos. Me preguntaba si hay una forma más rápida que np.add () Edición: estoy agregando un ejemplo similar de lo que estoy usando ahora. ¿Hay una manera de acelerar esto? #a and b are the two matrices […]

Python: sugerencias para mejorar un código trozo a trozo para leer varios millones de puntos

Escribí un código para leer el archivo *.las en Python. *las archivo es un archivo especial ascii donde cada línea es x,y,z valor de puntos. Mi función lee N número de puntos y compruebe si están dentro de un polígono con points_inside_poly . Tengo las siguientes preguntas: Cuando llego al final del archivo, LASException: LASError […]

OpenCV Python enlaza iteraciones increíblemente lentas a través de datos de imagen

Recientemente tomé un código que rastreaba un objeto basado en color en OpenCV c ++ y lo reescribí en los enlaces de python. Los resultados globales y el método fueron obviamente la misma syntax negativa. Pero cuando realizo el código de abajo en cada cuadro de un video, se tarda casi 2-3 segundos en completarse, […]

Mezclando python con un lenguaje más rápido para la optimización en GAE

Soy un novato en el mundo de Python y GAE y tengo una pregunta. Con Python, el enfoque normal es optimizar el código solo cuando sea necesario, solucionando los cuellos de botella más urgentes. Y una de las formas de lograrlo es reescribir las partes más críticas del progtwig en C. Al usar GAE estamos […]

Rendimiento de coincidencia de cadenas: gcc versus CPython

Mientras investigaba las compensaciones de rendimiento entre Python y C ++, he ideado un pequeño ejemplo, que se centra principalmente en una concordancia de subcadenas tontas. Aquí está el C ++ relevante: using std::string; std::vector matches; std::copy_if(patterns.cbegin(), patterns.cend(), back_inserter(matches), [&fileContents] (const string &pattern) { return fileContents.find(pattern) != string::npos; } ); Lo anterior está construido con […]

crear pequeños arreglos en cython toma una enorme cantidad de tiempo

Estaba escribiendo un nuevo generador de números aleatorios para números que produce números aleatorios según una distribución arbitraria cuando me encontré con este comportamiento realmente extraño: esto es test.pyx #cython: boundscheck=False #cython: wraparound=False import numpy as np cimport numpy as np cimport cython def BareBones(np.ndarray[double, ndim=1] a,np.ndarray[double, ndim=1] u,r): return u def UntypedWithLoop(a,u,r): cdef int […]

Función vectorizada de pandas cumsum versus numpy

Al responder a la pregunta Vectorizar el cálculo de un Marco de datos de Pandas , noté un problema interesante con respecto al rendimiento. Tenía la impresión de que funciones df.min() como df.min() , df.mean() , df.cumsum() , etc. Sin embargo, estoy viendo una gran discrepancia en el rendimiento entre df.cumsum() y una alternativa numpy […]

¿Cómo puedo trazar muchos miles de círculos rápidamente?

Estoy tratando de trazar varios (muchos miles) de objetos circulares, no tengo mucha experiencia trabajando con python. Estoy interesado en especificar la posición, el radio y el color. ¿Hay alguna forma más eficiente de lograr el mismo resultado ?: import matplotlib.pyplot as plt xvals = [0,.1,.2,.3] yvals = [0,.1,.2,.3] rvals = [0,.1,.1,.1] c1vals = [0,.1,0..1] […]

Multiplicando matrices dispersas y densas de Numpy / Scipy de manera eficiente

Estoy trabajando para implementar la siguiente ecuación: X =(YT * Y + YT * C * Y) ^ -1 Y es una matriz (nxf) y C es (nxn) una diagonal; n es aproximadamente 300k y f variará entre 100 y 200. Como parte de un proceso de optimización, esta ecuación se utilizará casi 100 millones […]