Skip to main content

Multivariate polynomial arithmetic benchmark tests.

Project description


Test PyPI version Language grade: Python

Multivariate polynomial arithmetic benchmark tests.

Many scientific and engineering applications utilise multivariate polynomial arithmetic in their algorithms and solutions. Here we provide a set of benchmark tests for often-used operations in multivariate polynomial arithmetic:

  • Greatest common divisor
  • Factorisation


You also need at least one or more tools to be benchmarked. They are (in alphabetical order):

Getting started

Clone this repository and try to run the script:

git clone
cd polybench
./ --all

When starting the script for the first time, it automatically sets up a virtual environment for required Python packages so that it will not dirty your environment. Some of the tools are provided as libraries registered in public package registries, so the first run takes some time to download, compile and link them with test binaries. After testing, a CSV file and comparison plots will be generated.

For practical benchmarking, configuration parameters should be set adequately. See the help message shown by

./ --help

You can also use pip, pipx, Poetry or Docker with this repository. Installation with pip(x) install or poetry install makes a command polybench available, which acts as the script described above.

pip install polybench
polybench --all
python -m polybench --all  # alternative way to launch
pipx install polybench
polybench --all
git clone
cd polybench
poetry install
poetry run polybench --all
docker build -t polybench:latest
docker run -it --rm polybench:latest
./ --all


platform Linux-3.10.0-957.21.3.el7.x86_64-x86_64-with-glibc2.23
python_version (64 bit)
cpu_brand Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz
cpu_count 40
total_memory 754.6GB
FORM FORM 4.2.1 (Nov 21 2018, v4.2.1) 64-bits
Mathematica 13.0.0 for Linux x86 (64-bit) (December 10, 2021)
reFORM 0.1.0-fix-serialize, rustc 1.56.1
Rings 2.5.8, JVM: 17.0.1 (Homebrew 17.0.1+1)
Singular Singular for x86_64-Linux version 4.2.1 (4210, 64 bit) May 2021



ReFORM has no factorization functionality. Mathematica exceeded the timeout of 60 minutes for the "nontrivial-factor" test.



Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polybench-0.2.0.tar.gz (92.0 kB view hashes)

Uploaded Source

Built Distribution

polybench-0.2.0-py3-none-any.whl (96.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page