¿Qué herramientas para sistemas Windows y Linux puedo usar para determinar problemas de alineación, errores de caché y otros parámetros relevantes para el código generado por Visual C++ y GCC? ¿Puedo usar estas herramientas para determinar la alineación de las estructuras para poder evitar el relleno generado por el compilador?Herramientas de optimización para C y C++
Respuesta
Para determinar caché pierde usted querrá un generador de perfiles de nivel de CPU, como oprofile
o vtune
, o una herramienta de instrumentación dinámico, como valgrind
con cachegrind
.
Para buscar problemas de alineación en las estructuras, hay una herramienta llamada pahole
para archivos de objetos con DWARF
información de depuración.
Gracias por su respuesta. ¿Hay una herramienta para ventanas similar a la de fondo? Por cierto, ¿puedes elaborar o apuntar tutoriales sobre cómo habilitar los parámetros de caché en vtune/kcachegrind? – Kartlee
Si desea evitar el relleno en las estructuras de datos, puede usar __attribute__((__packed__))
para gcc o microsoft visual studio #pragma(pack(push,1))
antes de la declaración de su estructura #pragma(pop)
después de la declaración de su estructura. También podría dar la opción de línea de comando al compilador visual/Zp1 de Microsoft Visual Studio para empacar en un byte http://msdn.microsoft.com/en-us/library/xh3e3fd0(v=vs.80).aspx o con gcc -falign-function = 8 para empacar en límites de 1 byte. Su código base sería más pequeño, sin embargo, esto podría tener serios efectos negativos en su rendimiento ...
- 1. Herramientas de optimización PNG
- 2. ¿Hay herramientas para integrar Java y C++?
- 3. optimización de Objective-C
- 4. Ayuda para comprender la optimización de C#
- 5. C/C++ retroalimentación compilador de optimización
- 6. VS2010 C++ optimización
- 7. Constantes y optimización del compilador en C++
- 8. impulso :: ninguna optimización typeid para C++ 11
- 9. C#, optimización extraña
- 10. optimización de cadenas literales C
- 11. Técnicas de optimización en C#
- 12. Herramientas de cobertura de código para Symbian C++ y Maemo
- 13. C++ Consejos para la optimización de código en dispositivos ARM
- 14. ¿Qué herramientas C/C++ pueden verificar para desbordamientos de búfer?
- 15. Eliminar foreach - C# código-optimización
- 16. Herramientas para detectar fugas de memoria para C# y aplicación C++ no administrada
- 17. optimización guiada por perfil (C)
- 18. C++: herramientas para analizar estáticamente el código (y/o preprocesarlo)
- 19. Optimización de estructura de compilador C
- 20. C optimización de llamadas de cola
- 21. C++ Pautas de optimización de rendimiento/memoria
- 22. Herramientas para detectar False Sharing en una aplicación C/C++
- 23. Herramientas para el código C refactorización
- 24. Microsoft Visual C++ optimización de código
- 25. C++: ¿optimización del orden variable de miembros?
- 26. Uso de estructuras en Objective-C (para iOS): optimización prematura?
- 27. Optimización del diseño de gráficos en C#
- 28. Optimización de matrices C++ 2-D
- 29. ¿Qué herramientas (gratuitas u otras) encuentra útiles para desarrollar y depurar C#/C++?
- 30. ¿Es legal esta optimización C++ 0x?
El relleno automático elimina los problemas de alineación ... –
En Stack Overflow sus preguntas deben formularse como preguntas y no como comandos, o dejarás a un lado muchos posibles contendientes. He editado tu publicación para reflejar esto. –