TimedExec ========= **TimedExec** is a small utility for *benchmarking* command-line programs. It will *execute* the specified program with the specified command-line arguments and then *measure* the time that it takes for the program execution to complete. In order to obtain *accurate* results, all measurements are implemented via *high-resolution* performance timers. And, since program execution times unavoidably are subject to variations (due to environmental noise), each test will be repeated *multiple* times. The number of metering passes can be configured as desired. TimedExec will then compute the *mean* execution time of all passes. It will also record the *fastest* and *slowest* execution time. Furthermore, TimedExec computes the *standard error* as well as the *confidence interval* from the benchmarking results. This is the *range* which contains the program's actual (mean) execution time, *with very high probability*. Last but not least, an optional number of "warm-up" passes can be performed *prior to* the first metering pass. The warm-up passes prevent caching effects from interfering with the execution times. Note that all benchmarking results will be saved to a log file. Usage Instructions ------------------ ### Command-line Syntax ### TimedExec uses a very simple command-line syntax. Just type "TimedExec", followed by the program that you want to benchmark, followed by the desired arguments. *Note:* Some parameters that influence the behaviour of TimedExec can be set via environment variables. Must be set *before* running the application. ``` =============================================================================== Timed Exec - Benchmarking Utility, Version 1.03 Copyright (c) 2018 LoRd_MuldeR . Some rights reserved. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License . Note that this program is distributed with ABSOLUTELY NO WARRANTY. =============================================================================== Usage: TimedExec.exe [Arguments] Influential environment variables: TIMED_EXEC_PASSES - Number of execution passes (default: 5) TIMED_EXEC_WARMUP_PASSES - Number of warm-up passes (default: 1) TIMED_EXEC_LOGFILE - Log-File Name (default: "TimedExec.log") TIMED_EXEC_NO_CHECKS - Set this to *disable* exit code checks ``` ### Usage Example ### In the following example we use *TimedExec* to benchmark the program **ping.exe** with the arguments **-n 12 www.google.com**. The command will be executed ten times, by default: ``` TimedExec.exe C:\Windows\System32\ping.exe -n 12 www.google.com ``` The resulting output, after all ten passes have been completed, may look like this: ``` =============================================================================== TEST COMPLETED SUCCESSFULLY AFTER 5 METERING PASSES ------------------------------------------------------------------------------- Mean Execution Time : 11.257 seconds Median Execution Time : 11.255 seconds 90% Confidence Interval : +/- 0.006 (0.053%) = [11.251, 11.263] seconds 95% Confidence Interval : +/- 0.007 (0.063%) = [11.250, 11.264] seconds 99% Confidence Interval : +/- 0.009 (0.083%) = [11.248, 11.266] seconds Standard Deviation : 0.007 seconds Standard Error : 0.004 seconds Fastest / Slowest Pass : 11.253 / 11.270 seconds =============================================================================== ``` Sources ------- The *TimedExec* source codes are managed by [**Git**](http://git-scm.com/doc) and are available from one of the official mirrors: * https://github.com/lordmulder/TimedExec.git ([Browse](https://github.com/lordmulder/TimedExec)) * https://bitbucket.org/muldersoft/timedexec.git ([Browse](https://bitbucket.org/muldersoft/timedexec)) * https://gitlab.com/timedexec/timedexec.git ([Browse](https://gitlab.com/timedexec/timedexec)) License ------- TimedExec is released under the terms of the [GNU General Public License](http://www.gnu.org/licenses/gpl-2.0.html), version 2. ``` Timed Exec - Command-Line Benchmarking Utility Copyright (c) 2018 LoRd_MuldeR . Some rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/licenses/gpl-2.0.txt ```
**e.o.f.**