Skip to content

karel-brinda/galitime

Repository files navigation

galitime

info-badge github-release-badge pypi-badge zenodo-badge ci-tests-badge

Introduction

Software for benchmarking programs using GNU Time.

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. However, on OS X it requires the GNU version of the time command (gtime), which can be installed by brew install gnu-time.

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
  • real_s - Real time in seconds (wall clock time)
  • 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)
  • fs_inputs - File system read read operations count
  • fs_outputs - File system write operations count
  • real_s_alt - Python-measured real time in seconds (slightly higher than real_s)
  • command - Command executed, with tabs replaced by spaces

Issues

Please use Github issues.

Changelog

See Releases.

Licence

MIT

Authors