Articles of rendimiento de

k-mayor selección doble

Imagina que tienes dos sacos ( A y B ) con bolas N y M respectivamente en él. Cada bola con un valor numérico conocido (beneficio). Se le pide que extraiga (con reemplazo) el par de bolas con el beneficio total máximo (dado por la multiplicación de las bolas seleccionadas). La mejor extracción es obvia: […]

Evita una copia profunda al hacer un BFS

Actualmente estoy resolviendo el segundo ejercicio en esta tarea (esto no es tarea, en realidad estoy tratando de resolver este otro problema ). Mi solución utiliza un BFS para buscar la solución mínima a una variante del problema “Lights Out”, en el que al presionar una luz cambiará el estado de cada luz en la […]

¿Por qué DataFrame.loc ] es 1,800x más lento que df.ix ] y 3,500x que df.loc ?

Prueba esto por ti mismo: import pandas as pd s=pd.Series(xrange(5000000)) %timeit s.loc[[0]] # You need pandas 0.15.1 or newer for it to be that slow 1 loops, best of 3: 445 ms per loop Actualización : ese es un error legítimo en los pandas que probablemente se introdujo en 0.15.1 en agosto de 2014 o […]

¿Por qué este código de corte es más rápido que más código de procedimiento?

Tengo una función de Python que toma una lista y devuelve un generador que produce 2 tuplas de cada par adyacente, por ejemplo >>> list(pairs([1, 2, 3, 4])) [(1, 2), (2, 3), (3, 4)] He considerado una implementación utilizando 2 rebanadas: def pairs(xs): for p in zip(xs[:-1], xs[1:]): yield p y uno escrito en un […]

¿Cómo actualizar el valor de una clave en un archivo json sin cargar el json completo en python?

Considere, el contenido del archivo json antes de la actualización es, {“key1”: “value A”, “key2”: “value B”} Quiero actualizar la clave1 para valorar C sin abrir realmente el archivo json usando json.load (). Así que la salida final debería ser, {“key1”: “value C”, “key2”: “value B”} Quiero algo como update () en mongoDB. ¿Es posible […]

¿Cómo medir el tiempo de ejecución de la CPU y el tiempo de ejecución del reloj de pared de una función, por separado, como código Python (no del terminal)?

Estoy buscando una manera de medir el rendimiento de la función en Python, separando el reloj de pared y el tiempo de CPU. He buscado en los perfiladores de python, pero parecen estar diseñados para escanear un progtwig y no solo las funciones. De http://docs.python.org/2/library/profile.html : Nota Los módulos del generador de perfiles están diseñados […]

Diferencia entre `rendimiento de foo ()` y `para x en foo (): rendimiento x`

En Python la mayoría de los ejemplos de rendimiento lo explican diciendo que yield from foo() es parecido a for x in foo(): yield x Por otro lado, no parece ser exactamente lo mismo y se ha introducido algo de magia. Me siento un poco incómodo al usar una función que hace magia que no […]

Mejora del rendimiento de la función de golpe de rayos

Tengo un simple trazador de rayos en python. renderizar una imagen 200×200 toma 4 minutos, lo que definitivamente es demasiado para mi gusto. Quiero mejorar la situación. Algunos puntos: Disparo múltiples rayos por cada píxel (para proporcionar suavizado) para un total de 16 rayos por píxel. 200x200x16 es un gran total de 640000 rayos. Cada […]

Encontrar todas las claves en un diccionario de una lista dada RÁPIDAMENTE

Tengo un diccionario (potencialmente bastante grande) y una lista de claves ‘posibles’. Quiero encontrar rápidamente cuál de las claves tiene valores coincidentes en el diccionario. He encontrado mucha discusión sobre los valores de un solo diccionario aquí y aquí , pero ninguna discusión sobre la velocidad o entradas múltiples. He encontrado cuatro formas, y para […]

¿Por qué el procesamiento de una matriz ordenada no es más rápido que una matriz sin clasificar en Python?

En esta publicación, Por qué el procesamiento de una matriz ordenada es más rápido que una matriz aleatoria , se dice que la predicción de twig es la razón del aumento de rendimiento en las matrices ordenadas. Pero acabo de probar el ejemplo usando Python; y creo que no hay diferencia entre arreglos ordenados y […]