Articles of rendimiento de

ordene las filas de la matriz para que coincidan con el orden de otra matriz utilizando una columna de identificador

Tengo dos matrices como esta: A = [[111, …], B = [[222, …], [222, …], [111, …], [333, …], [333, …], [555, …]] [444, …], [555, …]] Donde la primera columna contiene identificadores y las columnas restantes algunos datos, donde el número de columnas de B es mucho mayor que el número de columnas de […]

¿Por qué las búsquedas de dict son siempre mejores que las búsquedas de lista?

Estaba usando un diccionario como una tabla de búsqueda, pero comencé a preguntarme si una lista sería mejor para mi aplicación; la cantidad de entradas en mi tabla de búsqueda no era tan grande. Sé que las listas utilizan matrices de C bajo el capó, lo que me hizo concluir que la búsqueda en una […]

¿Debo almacenar un cálculo en una variable si se usará mucho?

Si tengo una función para, por ejemplo, verificar si list1 es una lista secundaria de list2, qué opción es mejor: Opción 1: def isSublist1(list1,list2): “This fuction checks if list1 is a sublist of list2.” for i in range(len(list2)): part=list2[i:] # part is a list with all the elements from i to the end of list2 […]

¿Dónde usar el rendimiento en Python mejor?

Sé cómo funciona el yield . Conozco la permutación, piénsalo como una simplicidad matemática. ¿Pero cuál es la verdadera fuerza del yield ? ¿Cuándo debo usarlo? Un ejemplo simple y bueno es mejor.

numpy calcular polinom eficientemente

Estoy tratando de evaluar el polinomio (grado 3’d) usando numpy. Descubrí que hacerlo mediante un código de Python más simple será mucho más eficiente. import numpy as np import timeit m = [3,7,1,2] f = lambda m,x: m[0]*x**3 + m[1]*x**2 + m[2]*x + m[3] np_poly = np.poly1d(m) np_polyval = lambda m,x: np.polyval(m,x) np_pow = lambda […]

¿Por qué mi Criba de Eratóstenes es tan lenta?

Estoy resolviendo algunos problemas en el Proyecto Euler y tuve que generar 2 millones de números primos para resolver un problema. Mi implementación del Tamiz de Eratóstenes resultó ser extremadamente lenta pero no sé muy bien por qué. ¿Podría alguien explicar los principales problemas con esta implementación? Pensé que era muy bonito, y luego me […]

Diferencia de eficiencia entre dict.has_key y key en dict en Python

Posible duplicado: ‘has_key ()’ o ‘in’? En Python, hay dos formas de decidir si una key está en un dict : if dict.has_key(key) y if key in dict Alguien me dice que el segundo es más lento que el primero, ya que la palabra clave in hace que la expresión sea una iteración sobre el […]

isinstance (foo, types.GeneratorType) o inspect.isgenerator (foo)?

Parece que hay dos formas en Python para probar si un objeto es un generador: import types isinstance(foo, types.GeneratorType) o: import inspect inspect.isgenerator(foo) En el espíritu de “Debe haber una – y preferiblemente solo una –obviosa manera de hacerlo”, es una de estas formas recomendada sobre la otra (presumiblemente hacen lo mismo … si no, […]

Python: implementar un script en una función. Algunas sugerencias

En primer lugar, soy bastante nuevo en Python (un área de progtwigción) pero deseo aprender y convertir una función desarrollada por jwpat7 . Dado un conjunto de puntos derivados de un casco convexo. hull= [(560023.44957588764,6362057.3904932579), (560023.44957588764,6362060.3904932579), (560024.44957588764,6362063.3904932579), (560026.94957588764,6362068.3904932579), (560028.44957588764,6362069.8904932579), (560034.94957588764,6362071.8904932579), (560036.44957588764,6362071.8904932579), (560037.44957588764,6362070.3904932579), (560037.44957588764,6362064.8904932579), (560036.44957588764,6362063.3904932579), (560034.94957588764,6362061.3904932579), (560026.94957588764,6362057.8904932579), (560025.44957588764,6362057.3904932579), (560023.44957588764,6362057.3904932579)] esta secuencia de comandos devuelve una impresión […]

¿Cuáles son las ventajas de “artículo de rendimiento” en comparación con el iter de retorno (artículos)?

En los ejemplos a continuación, resp.results es un iterador. Versión 1 : items = [] for result in resp.results: item = process(result) items.append(item) return iter(items) Versión 2: for result in resp.results: yield process(result) ¿El retorno de iter (elementos) en la Versión 1 es mejor / peor en términos de rendimiento / ahorro de memoria que […]