Ja, wenn Sie verbose ausführen, werden Ihre Anwendungen langsamer.
Wie viel hängt von der Anwendung ab.
Jeder Ausdruck auf dem Terminal erfordert zusätzliche Verarbeitungszeit. Im Fall der Verwendung von printf () oder einer seiner Schwestern ist dies eine ziemlich hohe Menge an vergeudeter Verarbeitung.
Auch das Terminal muss mit diesen Daten umgehen. Zwischen der Anwendung und dem Terminal befindet sich eine begrenzte Menge an Pufferplatz, und der E / A-Kanal wird blockiert, bis genügend Speicherplatz im Puffer vorhanden ist, um die Daten tatsächlich auszugeben. Die Anwendung kann im Allgemeinen nicht fortgesetzt werden, während diese Blockierung stattfindet. 1
Das Anzeigen des Debugging-Texts auf dem Terminal beansprucht außerdem Verarbeitungszyklen. Dies ist wiederum abhängig von der Anwendung (der Menge an Debugging), dem Terminalprogramm (verwendete Schriftarten, Effekte usw.) und sogar dem verwendeten X-Windows-Treiber (Hardwarebeschleunigung usw.).
Mit dem time
Programm kann ziemlich genau bestimmt werden, wie lange ein Befehl ausgeführt wurde. Wenn Sie dasselbe Programm zweimal im Laufe der Zeit ausführen, einmal mit und einmal ohne Fehlerbehebung, können Sie sehen, welchen Unterschied es macht. Ich würde vorschlagen, den Befehl vor dem Ausführen der Tests einmal auszuführen, um sicherzustellen, dass das Caching für beide Testläufe des Befehls identisch ist. Sie möchten die Ergebnisse nicht verzerren, indem Sie den zweiten Durchlauf viel schneller ausführen, da die meisten Daten jetzt beim ersten Durchlauf zwischengespeichert wurden, oder?
1 Bei einer Multithread-Anwendung wird nur der Thread blockiert, der die Debugging-Ausgabe ausführt.
tar xvf file.tar > /dev/null
vs.tar xf file.tar
? Die Umleitung zu/dev/null
sollte Ihr Terminal davon abhalten.