Gibt es eine Möglichkeit, die Leistung eines Bash-Skripts zu vergleichen? Das Skript lädt eine Remote-Datei herunter und ruft dann mehrere Befehlszeilenprogramme zur Bearbeitung auf. Ich würde gerne (oder so viel wie möglich) wissen:
Ich kann Änderungen am Bash-Skript vornehmen, um beliebige Benchmark-Befehle einzufügen, die an bestimmten Punkten (z. B. zwischen App-Aufrufen) benötigt werden. Nicht sicher, ob einige "Top" Ninja-ry das lösen könnten oder nicht. Nicht in der Lage, etwas nützliches (zumindest zu begrenztes Verständnis) in der Manakte zu finden.
Führt die Benchmarks auf OSX Terminal sowie auf Ubuntu aus (wenn es darauf ankommt).
Sie können dies auf verschiedene Arten erreichen. Eine Möglichkeit besteht darin, die integrierte Funktion time
für jeden gewünschten Befehl zu verwenden und die Ergebnisse zu erfassen. Sie müssen bei Pipes und Weiterleitungen vorsichtig sein.
Sie können auch erwägen, SIGCHLD-, DEBUG-, RETURN-, ERR- und EXIT-Signale einzufangen und Timing-Informationen einzugeben, aber Sie erhalten möglicherweise keine Ergebnisse.
Dieses Konzept der CPU-Nutzung jedes Befehls gibt Ihnen nichts nützliches, alle Befehle verwenden 100% CPU. Speicherverwendung ist etwas, das Sie herausziehen können, aber Sie sollten
betrachtenWenn Sie tiefe Prozessstatistiken erhalten möchten, dann sollten Sie strace verwenden ... Weitere Informationen finden Sie unter strace (1) man page. Ich bezweifle, dass -TTT, wie es anderswo vorgeschlagen wird, nützlich ist alles, was Sie sagen, sind System-Anruf Zeiten und Sie wollen andere Prozess-Trace-Informationen.
Sie können auch die Tools ltrace und dstat sehen.
Eine ähnliche Frage wird hier Linux-Benchmarking-Tools
beantwortetTags und Links benchmarking linux bash