### Install zodbshootout with RelStorage extras Source: https://github.com/zodb/zodbshootout/blob/master/doc/install.rst Installs RelStorage plus the appropriate database adapter/driver for MySQL, PostgreSQL, or Oracle. Does not install the databases themselves. ```bash pip install "zodbshootout[mysql]" ``` ```bash pip install "zodbshootout[postgresql]" ``` ```bash pip install "zodbshootout[oracle]" ``` -------------------------------- ### Install zodbshootout with pip Source: https://github.com/zodb/zodbshootout/blob/master/doc/install.rst Installs the zodbshootout script along with ZODB and ZEO. Additional packages are needed for other storages or wrappers. ```bash pip install zodbshootout ``` -------------------------------- ### Invoke zodbshootout script Source: https://github.com/zodb/zodbshootout/blob/master/doc/zodbshootout.rst Run the zodbshootout benchmark using the installed script. The first form works in an active environment with zodbshootout on the path; the second form works in a non-active virtual environment by specifying the full path to the venv's binary. ```shell # In an active environment with zodbshootout on the path $ zodbshootout ...arguments... # in a non-active virtual environment $ path/to/venv/bin/zodbshootout ...arguments... ``` -------------------------------- ### Invoke zodbshootout as Python module Source: https://github.com/zodb/zodbshootout/blob/master/doc/zodbshootout.rst Run the zodbshootout benchmark directly as a Python module using the interpreter where it is installed. This is equivalent to using the zodbshootout script. ```shell python -m zodbshootout ``` -------------------------------- ### Set fixed hash seed for repeatable results Source: https://github.com/zodb/zodbshootout/blob/master/doc/zodbshootout.rst Set the PYTHONHASHSEED environment variable to a fixed value to ensure repeatable, stable benchmark results. This works for both CPython 2 and 3 on Unix-like systems. ```shell $ PYTHONHASHSEED=0 zodbshootout ...arguments... ```