Articles of optimization

Velocidad del algoritmo de análisis XML de Python

Actualmente estoy analizando un gran archivo XML de la siguiente forma en una aplicación web de Python-Flask en Heroku: li 1 content li 2 content li 1 content li 2 content li 1 content li 2 content li 1 content li 2 content El código que utilizo para analizarlo, analizarlo y mostrarlo a través de […]

sum de la restricción de valores absolutos en la progtwigción semi definida

Quiero continuar con mi problema de optimización de la progtwigción semi definida del mundo real con una restricción en la sum de valores absolutos. Por ejemplo: abs(x1) + abs(x2) + abs(x3) <= 10. He buscado en Internet y en la documentación, pero no pude encontrar una manera de representar esto. Estoy usando python y el […]

¿Cómo puedo optimizar este código de Google App Engine?

Soy relativamente nuevo en el mundo de los pitones, pero esto parece muy sencillo. Google me está gritando que este código debe optimizarse: class AddLinks(webapp.RequestHandler): def post(self): # Hash the textarea input to generate pseudo-unique value hash = md5.new(self.request.get(‘links’)).hexdigest() # Seperate the input by line allLinks = self.request.get(‘links’).splitlines() # For each line in the input, […]

minimizando una función multivariable y diferenciable usando scipy.optimize

Estoy intentando minimizar la siguiente función con scipy.optimize : cuyo gradiente es este (Para aquellos que estén interesados, esta es la función de probabilidad de un modelo de Bradley-Terry-Luce para comparaciones por pares. Muy relacionado con la regresión logística). Es bastante claro que agregar una constante a todos los parámetros no cambia el valor de […]

Terminación de la matriz en Python

Digamos que tengo una matriz: > import numpy as nap > a = np.random.random((5,5)) array([[ 0.28164485, 0.76200749, 0.59324211, 0.15201506, 0.74084168], [ 0.83572213, 0.63735993, 0.28039542, 0.19191284, 0.48419414], [ 0.99967476, 0.8029097 , 0.53140614, 0.24026153, 0.94805153], [ 0.92478 , 0.43488547, 0.76320656, 0.39969956, 0.46490674], [ 0.83315135, 0.94781119, 0.80455425, 0.46291229, 0.70498372]]) Y que hago algunos agujeros con np.NaN , por […]

Optimización de un codificador reed-solomon (división polinomial)

Estoy tratando de optimizar un codificador Reed-Solomon, que en realidad es simplemente una operación de división polinomial sobre Galois Fields 2 ^ 8 (lo que simplemente significa que los valores se redondean en más de 255). De hecho, el código es muy similar al que se puede encontrar aquí para Go: http://research.swtch.com/field El algoritmo para […]

¿Cómo llamar a las funciones numpy / scipy C desde Cython directamente, sin sobrecarga de llamadas de Python?

Estoy tratando de hacer cálculos en Cython que dependen en gran medida de algunas funciones matemáticas numpy / scipy como numpy.log . Noté que si llamo repetidamente a las funciones numpy / scipy en un ciclo en Cython, hay costos generales elevados, por ejemplo: import numpy as np cimport numpy as np np.import_array() cimport cython […]

En código gestionado, ¿cómo logro una buena localidad de referencia?

Ya que la RAM parece ser el nuevo disco , y como esa statement también significa que el acceso a la memoria ahora se considera lento, de manera similar a como siempre ha sido el acceso al disco, quiero maximizar la localidad de referencia en la memoria para aplicaciones de alto rendimiento. Por ejemplo, en […]

python 2 vs python 3 rendimiento de random, particularmente `random.sample` y` random.shuffle`

El problema del rendimiento del módulo de python random, y en particular, random.sample y random.shuffle surgió en esta pregunta . En mi computadora, obtengo los siguientes resultados: > python -m timeit -s ‘import random’ ‘random.randint(0,1000)’ 1000000 loops, best of 3: 1.07 usec per loop > python3 -m timeit -s ‘import random’ ‘random.randint(0,1000)’ 1000000 loops, best […]

Optimización paralela de muchas dimensiones.

Estoy creando un script que genera datos de entrada [parámetros] para que otro progtwig los calcule. Me gustaría optimizar los datos resultantes. Anteriormente he estado usando la optimización numpy powell. El código psuedo se ve algo así. def value(param): run_program(param) #Parse output return value scipy.optimize.fmin_powell(value,param) Esto funciona muy bien; sin embargo, es increíblemente lento ya […]