Assembly analysieren
-
Da ich in einem Programm unerwartet schlechte Laufzeiten bekomme, versuche ich den erzeugten Assemblerocde zu verstehen.
Momentan nutze ich objdump, um C++ Code und Assembly zusammen sehen zu können. Das ist allerdings trotzdem noch umständlich.
Gibnt es hier ein Tool, das mir behilflich sein kann?
(Intel CPU, g++, Linux)
-
Nimm Windows + Visual Studio 2017.
-
codexl zeigt dir source, assembler und die kosten der jeweiligen zeile und was diese verursacht hat, zumindestens unter windows, aber sollte auch unter linux so sein
http://i1-news.softpedia-static.com/images/news2/AMD-Releases-CodeXL-a-Software-Developer-Kit-for-Heterogeneous-Computing-3.jpg
-
Gibnt es hier ein Tool, das mir behilflich sein kann?
z.B. gprof - würde ich als 1. probieren
http://www.thegeekstuff.com/2012/08/gprof-tutorial
oder
http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html#C++
oder
die Linux Variante vom VTune (Trial)
Nimm Windows + Visual Studio 2017.
im VStudio ist ein Profiler eingebaut - dafür muss das ganze aber unter Windows kompilieren
-
-
Gast3 schrieb:
Nimm Windows + Visual Studio 2017.
im VStudio ist ein Profiler eingebaut - dafür muss das ganze aber unter Windows kompilieren
Windows 10 hat sogar eine Ubunut Shell. Zusammen mit VS 2017 könnte man da sogar Linux Code ganz gut ans laufen bringen. Außerdem gibt es eine Erweiterung für VS 2017 "Visual C++ für Linux-Entwicklung". Ich habe das noch nicht probiert, aber schon gesehen.
Wie gut der Profiler in der Kombination funktioniert kann ich aber leider nicht sagen.