description
Project description
Introduction
Software for benchmarking programs using the GNU Time command, with extensive benchmarking options and unified behaviour across platforms (including output units). Inspired by the benchmarking script in Phylign developed by Leandro Lima.
Quick example
$ if [[ $(uname) == "Darwin" ]]; then brew install gnu-time; fi
$ conda install -y -c bioconda -c conda-forge galitime
$ galitime --log time.log ls
$ cat time.log
real_s user_s sys_s percent_cpu max_ram_kb exit_code fs_inputs fs_outputs real_s_alt command
0.03 0.00 0.00 10% 2904 0 0 0 0.076661 ls
Installation
Dependencies
Galitime has no dependencies beyond Python 3. While it used to require gtime on OS X, this dependency is no longer required and the default time command is used.
Using Bioconda
conda install -y -c bioconda -c conda-forge galitime
Using PyPI
Install the Galitime Python package:
pip install -U galitime
Command-line parameters
$ galitime -h
usage: galitime [-h] --log LOG [--experiment EXPERIMENT] [-v] command
Benchmark a command.
positional arguments:
command The command to be benchmarked
options:
-h, --help show this help message and exit
--log LOG Path to the log file with benchmark statistics (if the directory doesn't exist, it will be created).
--experiment EXPERIMENT
Name of the experiment (to be attached to the output)
-v show program's version number and exit
Output
experiment - Name of the experiment, if provided via -n
run - Number of run in case of multiple repetitions
real_s - Real time in seconds (wall clock time)
real_s_py - Python-measured real time in seconds (slightly higher than real_s)
user_s - User CPU time in seconds (user mode, excluding system calls)
sys_s - System CPU time in seconds (kernel mode)
percent_cpu - CPU usage percentage
max_ram_kb - Maximum RAM usage in kilobytes
exit_code - Exit code of the command (0 if everything ok, -1 if command failed)
fs_inputs - File system read read operations count
fs_outputs - File system write operations count
command - Command executed, with tabs replaced by spaces
Issues
Please use Github issues.
Changelog
See Releases.
Licence
Contact
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.