Resultados de la búsqueda a petición "compiler-optimization"

5 la respuesta

¿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: ...

2 la respuesta

¿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 ...

3 la respuesta

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 ...

1 la respuesta

¿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 ...

4 la respuesta

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 ...

2 la respuesta

¿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 ...

2 la respuesta

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 ...

4 la respuesta

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; ...

2 la respuesta

¿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 ...

2 la respuesta

¿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); ...