Resultados de la búsqueda a petición "compiler-optimization"
¿Existe un g ++ (Linux) equivalente al / fp: precision y / fp: fast flags utilizados en Visual Studio?
Antecedentes: Hace muchos años, heredé una base de código que estaba usando el indicador '/ fp: fast' de Visual Studio (VC ++) para producir un código más rápido en una biblioteca particular con muchos cálculos. Desafortunadamente, '/ fp: ...
¿Por qué los compiladores comunes de C incluyen el nombre del archivo fuente en la salida?
He aprendido deesta respuesta reciente [https://stackoverflow.com/a/32401320] esegcc yclang incluya el nombre del archivo fuente en algún lugar del binario como metadatos, incluso cuando la depuración no esté habilitada. Realmente no puedo ...
Deshabilite todas las opciones de optimización en GCC
El nivel de optimización predeterminado para compilar programas C usando GCC es -O0. que desactiva todas las optimizaciones de acuerdo con la documentación de GCC. por ejemplo: gcc -O0 test.cSin embargo, para verificar si -O0 es ...
¿El compilador optimizará la división en multiplicación?
Dependiendo de esta preguntaDivisión de punto flotante vs multiplicación de punto flotante [https://stackoverflow.com/questions/4125033/floating-point-division-vs-floating-point-multiplication] . La división es más lenta que la multiplicación ...
Optimización de una rama para una ruta conocida más común
Considere el siguiente código: void error_handling(); bool method_impl(); bool method() { const bool res = method_impl(); if (res == false) { error_handling(); return false; } return true; }Lo sémethod_impl() volverátrue 99.999% (sí, tres ...
¿Por qué std :: fill (0) es más lento que std :: fill (1)?
He observado en un sistema questd::fill en una granstd::vector<int> fue significativamente y consistentemente más lento al establecer un valor constante0 comparado con un valor constante1 o un valor dinámico: 5.8 GiB / s vs 7.5 GiB / s Sin ...
l código generado del compilador @Tiny C emite NOP y JMP extra (¿innecesarios?)
Puede alguien explicar por qué este código: #include <stdio.h> int main() { return 0; } cuando se compila con tcc usandotcc code.c produce este asm: 00401000 |. 55 PUSH EBP 00401001 |. 89E5 MOV EBP,ESP 00401003 |. 81EC 00000000 SUB ESP,0 ...
Cómo ayuda la reordenación de memoria a los procesadores y compiladores?
Estudié el modelo de memoria de Java y vi problemas de reordenamiento. Un ejemplo simple: boolean first = false; boolean second = false; void setValues() { first = true; second = true; } void checkValues() { while(!second); assert first; ...
¿Es la opción de GCC -O2 romper este pequeño programa o tengo un comportamiento indefinido [duplicado]
Esta pregunta ya tiene una respuesta aquí: Decrementar un puntero fuera de los límites; incrementándolo en límites [duplicado] [/questions/18186987/decrementing-a-pointer-out-of-bounds-incrementing-it-into-bounds] 3 respuestas¿Por qué el ...
¿Podemos usar `const_cast` para modificar una variable constante? [duplicar
Esta pregunta ya tiene una respuesta aquí: Dos valores diferentes en la misma dirección de memoria [/questions/3593687/two-different-values-at-the-same-memory-address] 6 respuestasint main() { const int ia = 10; int *pia = const_cast<int*>(&ia); ...