Repräsentative Mikrobenchmarks extrahieren.
Führen Sie den folgenden Befehl aus, um ChopStix zu installieren:
./install.sh <INSTALLATION_DIRECTORY>
Der Befehl führt alle erforderlichen Schritte aus (dh einschließlich des Downloads spezifischer Anforderungen) und installieren Sie ChopStix in `<installation_directory>.
Das Folgende ist eine Liste der minimalen Softwareanforderungen, um ChopStix installieren zu können.
So herunterladen und ein Setup ChopStix für die Installation herunterladen und einrichten, folgen Sie folgenden Schritten:
git clone https://github.com/IBM/chopstix.git chopstix
cd chopstix
git submodule sync
git submodule update --init --recursive
Wenn Sie den Repository -Inhalt direkt von github.com als komprimierte Zip -Datei herunterladen, müssen Sie auch die externen Abhängigkeiten herunterladen und in das ./external Verzeichnis dekomprimieren.
ChopStix verwendet CMake als Build -System. Wir haben eine einfache Wrapper in Form eines Konfigurationsskripts bereitgestellt, um eine besser zugängliche Schnittstelle bereitzustellen.
Der grundlegende Build -Workflow ist wie folgt:
mkdir build
cd build
../configure
make && make install
Detailliertere Informationen zu Konfigurationsoptionen finden Sie in der Installationsdokumentation.
ChopStix speichert alle gesammelten Informationen in einer lokalen SQL -Datenbank. Standardmäßig speichert es Daten in chop.db Die meisten Befehle haben eine -data , um diesen Weg zu ändern.
Im Allgemeinen können Sie jeden Befehl mit chop <command> aufrufen. Weitere Informationen zu einem bestimmten Befehl finden Sie unter chop help <command> . Es gibt auch einige Dienstprogrammskripte (dh chop-marks ), die im Allgemeinen durch chop- vorangestellt werden.
Der grundlegende Workflow für Chopstix lautet wie folgt:
chop sample ./my_app # Sample invocation of ./my_app
chop disasm # Detect and disassemble used object files
chop count # Group and count samples per instruction
chop annotate # Annotate control flow graph
chop search -target-coverage 90% # Generate hottest paths
chop list paths # List generated paths
chop text path -id <id> # Show instructions for path with <id>
Für ein detaillierteres Beispiel für Workflow finden Sie die folgenden Dokumente: