Articles of optimización del

Rendimiento relativo de x86 inc contra instrucción add

Pregunta rápida, asumiendo de antemano mov eax, 0 que es mas eficiente? inc eax inc eax o add eax, 2 Además, en caso de que los dos inc sean más rápidos, ¿los comstackdores (es decir, el GCC) comúnmente (es decir, sin indicadores de optimización agresivos) optimizan var += 2 en él? ¡Gracias por tu tiempo! […]

¿Por qué es memcmp mucho más rápido que una prueba de bucle?

¿Por qué es memcmp(a, b, size) mucho más rápido que: for(i = 0; i < nelements; i++) { if a[i] != b[i] return 0; } return 1; ¿Es memcmp una instrucción de CPU o algo así? Debe ser bastante profundo porque obtuve una aceleración masiva usando memcmp en el ciclo.

Rendimiento inesperadamente pobre y extrañamente bimodal para el bucle de la tienda en Intel Skylake

Estoy viendo un rendimiento inesperadamente bajo para un simple bucle de tienda que tiene dos tiendas: una con un avance de 16 bytes y otra que siempre está en la misma ubicación 1 , como esta: volatile uint32_t value; void weirdo_cpp(size_t iters, uint32_t* output) { uint32_t x = value; uint32_t *rdx = output; volatile uint32_t […]

¿Por qué iterar a través de una matriz hacia atrás más rápido que hacia adelante?

Dado este código: var arr = []; for (var i = 0; i < 10000; ++i) arr.push(1); Hacia adelante for (var i = 0; i < arr.length; ++i) {} Hacia atrás for (var i = arr.length – 1; i >= 0; –i) {} Hard-codificado adelante for (var i = 0; i < 10000; ++i) {} […]

La manera más eficiente de ver si un ArrayList contiene un objeto en Java

Tengo una ArrayList de objetos en Java. Los objetos tienen cuatro campos, dos de los cuales utilizaría para considerar el objeto igual a otro. Estoy buscando la manera más eficiente, dados esos dos campos, para ver si la matriz contiene ese objeto. La llave inglesa es que estas clases se generan en base a objetos […]

Es el operador ternario más rápido que una condición “si” en Java

Soy propenso al ” síndrome condicional “, lo que significa que tiendo a utilizarlo todo el tiempo. Raramente uso el operador ternario. Por ejemplo: //I like to do this: int a; if (i == 0) { a = 10; } else { a = 5; } //When I could do this: int a = (i […]

El rendimiento de vistas MySql

Si va por el camino de usar vistas, ¿cómo puede garantizar un buen rendimiento? ¿O es mejor no usar vistas en primer lugar y solo incorporar el equivalente en sus declaraciones seleccionadas?

¿Qué métodos se pueden usar para extender eficientemente la duración de la instrucción en x86 moderno?

Imagine que desea alinear una serie de instrucciones de ensamblaje x86 con ciertos límites. Por ejemplo, es posible que desee alinear los bucles en un límite de 16 o 32 bytes, o las instrucciones del paquete para que se coloquen de manera eficiente en el caché uop o lo que sea. La forma más sencilla […]

Minificar la salida HTML de la aplicación ASP.NET

¿Cuáles son las formas en que podemos reducir el tamaño de la respuesta HTML enviada por una aplicación asp.net? Estoy usando controles que no son de mi propiedad y produce resultados con espacios en blanco. Estoy interesado en Minificar todo el resultado HTML de la página, al igual que lo hace google (Ver fuente www.google.com) […]

La forma más rápida de eliminar documentos duplicados en mongodb

Tengo aproximadamente 1,7 millones de documentos en mongodb (en el futuro 10 m +). Algunos de ellos representan entradas duplicadas que no quiero. La estructura del documento es algo como esto: { _id: 14124412, nodes: [ 12345, 54321 ], name: “Some beauty” } El documento está duplicado si tiene al menos un nodo igual que […]