Articles of rendimiento de

Complejidad del tiempo para una sublista en Python

En Python, ¿cuál es la complejidad del tiempo cuando creamos una lista secundaria de una lista existente? Por ejemplo, aquí los datos son el nombre de nuestra lista existente y list1 es nuestra lista secundaria creada al cortar los datos. data = [1,2,3,4,5,6..100,…1000….,10^6] list1 = data[101:10^6] ¿Cuál es el tiempo de ejecución para crear list1? […]

Forma eficiente de dividir un archivo de texto grande en python

esta es una pregunta anterior en la que mejorar el tiempo de rendimiento de una función en Python Necesito encontrar una manera eficiente de dividir mi archivo de texto Tengo el siguiente archivo de texto (más de 32 GB) no ordenado ……………….. 0 274 593869.99 6734999.96 121.83 1, 0 273 593869.51 6734999.92 121.57 1, 0 […]

Python si la eficiencia de la statement

Un amigo (un guionista de Python recreativo de bajo nivel de habilidad) me pidió que revisara un código. Noté que tenía 7 declaraciones separadas que básicamente decían. if ( a and b and c): do something Las declaraciones a, b, c probaron su igualdad o falta de valores de configuración. Cuando lo observé, descubrí que […]

¿Por qué es más rápido copiar una lista usando una porción que usar la forma obvia?

¿Por qué copiar una lista con poca profundidad es mucho más rápido que usar la list integrada? In [1]: x = range(10) In [2]: timeit x_ = x[:] 10000000 loops, best of 3: 83.2 ns per loop In [3]: timeit x_ = list(x) 10000000 loops, best of 3: 147 ns per loop Por lo general, […]

¿Qué operador (+ vs + =) se debe utilizar para el rendimiento? (En lugar de Vs no en lugar)

Digamos que tengo estos dos fragmentos de código en python: 1 ————————– import numpy as np x = np.array([1,2,3,4]) y = x x = x + np.array([1,1,1,1]) print y 2 ————————– import numpy as np x = np.array([1,2,3,4]) y = x x += np.array([1,1,1,1]) print y Pensé que el resultado de y sería el mismo […]

¿Debo usar dict o lista?

Me gustaría recorrer una gran lista de dos dimensiones: authors = [[“Bob”, “Lisa”], [“Alice”, “Bob”], [“Molly”, “Jim”], … ] y obtenga una lista que contenga todos los nombres que aparecen en los autores. Cuando recorro la lista, necesito un contenedor para almacenar los nombres que ya he visto, me pregunto si debo usar una lista […]

Python: ¿cuál es la forma más rápida de asignar o comprimir llamadas e ignorar errores?

Con frecuencia encuentro un problema en el que necesito aplicar una función a un gran iterador de datos, pero esa función a veces genera un error conocido que quiero ignorar. Desafortunadamente, ni la lista de compresiones ni la función de mapa tienen una buena manera de manejar los errores. ¿Cuál es la mejor manera de […]

Acelerar para bucle con numpy

¿Cómo puede este siguiente for-loop obtener una aceleración con numpy? Supongo que aquí se puede usar un truco de indexación elegante, pero no tengo idea de cuál (¿se puede usar einsum aquí?). a=0 for i in range(len(b)): a+=numpy.mean(C[d,e,f+b[i]])*g[i] edición: C es una matriz numérica de forma comparable a (20, 1600, 500) . d,e,f son índices […]

¿Método rápido para enumerar dos matrices grandes?

Tengo dos grandes arreglos para trabajar. Pero echemos un vistazo al siguiente ejemplo simplificado para obtener la idea: Me gustaría encontrar si un elemento en data1 coincide con un elemento en data2 y devolver el índice de matriz tanto en data1 como en data2 si se encuentra una coincidencia en forma de una nueva matriz […]

Prueba de velocidad causando un comportamiento extraño. Multiplicando el tiempo gastado por 100 en una instancia, solo 10 en otra

Estoy haciendo una prueba de velocidad con tres funciones, readFile, prepDict y test. La prueba es simplemente prepDict (readFile). Entonces estoy ejecutando estas muchas veces con el módulo timeit. Cuando incremento el número de bucles en un factor de 10, la función prepDict toma ~ 100 veces más, sin embargo, la prueba de función que […]