Articles of performance

Urllib2 y BeautifulSoup: Bonita pareja pero demasiado lenta: ¿urllib3 y temas?

Estaba buscando una manera de optimizar mi código cuando escuché algunas cosas buenas acerca de los hilos y urllib3. Al parecer, la gente no está de acuerdo con qué solución es la mejor. El problema con mi script a continuación es el tiempo de ejecución: ¡tan lento! Paso 1 : Obtengo esta página http://www.cambridgeesol.org/institutions/results.php?region=Afghanistan&type=&BULATS=on Paso […]

Appengine, degradación del rendimiento con python27

Quería probar python27 en appengine, así que he migrado mi aplicación desde python25. ¡El rendimiento fue más de 2x más lento para cada solicitud! Luego volví a python25 y el rendimiento es nuevamente como era antes. Aquí hay una foto: (milisegundos / solicitud) (controlador cgi python 27, luego python25) Mi aplicación usa Werkzeug , Jinja2 […]

¿Por qué Python 3 es considerablemente más lento que Python 2?

He estado tratando de entender por qué Python 3 en realidad está tomando mucho tiempo en comparación con Python 2 en ciertas situaciones, a continuación se presentan algunos casos que he verificado desde Python 3.4 a Python 2.7. Nota: He pasado por algunas de las preguntas como ¿Por qué no hay una función xrange en […]

Acelerando la carga de la primera página en django

Cuando actualizo el código en mi sitio web, (naturalmente) reinicio mi instancia de apache para que los cambios surtan efecto. Desafortunadamente, la primera página que recibe cada instancia de apache es bastante lenta mientras carga todo en la RAM por primera vez (5-7 segundos para este sitio en particular). Las solicitudes posteriores solo tardan entre […]

¿Por qué la carga de objetos SQLAlchemy a través del ORM 5-8x es más lenta que las filas a través de un cursor en bruto de MySQLdb?

Me di cuenta de que SQLAlchemy estaba obteniendo lentamente (y ORMing) algunos datos, que era bastante rápido de obtener utilizando SQL puro. En primer lugar, creé una base de datos con un millón de registros: mysql> use foo mysql> describe Foo; +——-+———+——+—–+———+——-+ | Field | Type | Null | Key | Default | Extra | […]

Problema de rendimiento en python con bucle nested

Pude mejorar mucho un código escrito en python con numpy debido al producto punto. Ahora todavía tengo una parte del código que todavía es muy lenta. Todavía no entiendo multiproceso y si esto podría ayudar aquí. En mi opinión, esto debería ser posible aquí. ¿Tienes una buena idea de qué hacer aquí? for x1 in […]

Multiplica eficientemente los elementos de cada fila juntos.

Dado un ndarray de tamaño (n, 3) con n alrededor de 1000, ¿cómo multiplicar todos los elementos para cada fila, rápido? La segunda solución (poco elegante) a continuación se ejecuta en aproximadamente 0,3 milisegundos, ¿se puede mejorar? # dummy data n = 999 a = np.random.uniform(low=0, high=10, size=n).reshape(n/3,3) # two solutions def prod1(array): return [np.prod(row) […]

Reescribiendo esta consulta de acceso a la base de datos para evitar el error ‘DISTINCT ON’, en Django

Tengo dos modelos muy simples: class Link(models.Model): description = models.TextField(validators=[MaxLengthValidator(500)]) submitter = models.ForeignKey(User) submitted_on = models.DateTimeField(auto_now_add=True) class Publicreply(models.Model): submitted_by = models.ForeignKey(User) answer_to = models.ForeignKey(Link) submitted_on = models.DateTimeField(auto_now_add=True) description = models.TextField(validators=[MaxLengthValidator(250)]) En el bash de obtener la última latest_replies = Publicreply.objects.filter(answer_to_id__in=link_ids).order_by(‘answer_to’, ‘submitted_on’).distinct(‘answer_to’) para cada objeto de link , intenté esto: latest_replies = Publicreply.objects.filter(answer_to_id__in=link_ids).order_by(‘answer_to’, ‘submitted_on’).distinct(‘answer_to’) donde link_ids […]

Confundido con la respuesta sobre el mejor / el peor caso para la función Python

Este es un problema corto del curso de edx Introducción a la informática y la progtwigción con Python. def program1(x): total = 0 for i in range(1000): total += i while x > 0: x -= 1 total += x return total Pregunta: ¿Cuál es la cantidad de pasos necesarios para ejecutar el Progtwig 1 […]

Invierta eficientemente los flotadores en una lista basada en una condición

Tengo un ndarray de flotadores ( a ) y una lista de 0 o 1 ( b ). b tienen la misma longitud, típicamente 1000. Me gustaría aplicar una función simple (como menos el inverso) a los elementos de a cuyo índice corresponde a 1 en b . El siguiente método toma un poco menos […]