GithubHelp home page GithubHelp logo

timedexec's Introduction

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 [Nov  7 2014]
Copyright (c) 2014 LoRd_MuldeR <[email protected]>. 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 <http://www.gnu.org/>.
Note that this program is distributed with ABSOLUTELY NO WARRANTY.
===============================================================================

Usage:
  TimedExec.exe <Program.exe> [Arguments]

Influential environment variables:
  TIMED_EXEC_PASSES        - Number of execution passes (default: 10)
  TIMED_EXEC_WARMUP_PASSES - Number of warm-up passes (default: 3)
  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 10 METERING PASSES
-------------------------------------------------------------------------------
Mean Execution Time     : 13.838 seconds
90% Confidence Interval : +/- 1.001 ( 7.235%) = [12.836, 14.839] seconds
95% Confidence Interval : +/- 1.193 ( 8.621%) = [12.645, 15.031] seconds
99% Confidence Interval : +/- 1.568 (11.330%) = [12.270, 15.405] seconds
Standard Deviation      : 1.826 seconds
Standard Error          : 0.609 seconds
Fastest / Slowest Pass  : 11.118 / 15.075 seconds
===============================================================================

Sources

The TimedExec source codes are managed by Git and are available from one of the official mirrors:

License

TimedExec is released under the terms of the GNU General Public License, version 2.

Timed Exec - Command-Line Benchmarking Utility
Copyright (c) 2014 LoRd_MuldeR <[email protected]>. 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.

timedexec's People

Contributors

lordmulder avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.