Skip to main content

Multivariate polynomial arithmetic benchmark tests.

Project description

polybench

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

Requirements

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 run.sh script:

git clone https://github.com/tueda/polybench.git
cd polybench
./run.sh --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

./run.sh --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 run.sh script described above.

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

Example

platform Linux-3.10.0-957.21.3.el7.x86_64-x86_64-with-glibc2.23
python_version 3.9.9.final.0 (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

nontrivial-gcd

nontrivial-gcd

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

License

MIT

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file polybench-0.2.0.tar.gz.

File metadata

  • Download URL: polybench-0.2.0.tar.gz
  • Upload date:
  • Size: 92.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-1022-azure

File hashes

Hashes for polybench-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5d4bb046f15f9729e135ded66c203b8ab83964b8149271245e9ff8e300c52f5b
MD5 3ebb8c9c53abbaeb2f9c40b5b4268e9f
BLAKE2b-256 6c528d0abb2eae9237741d3492b6fc3f58eb57cf598e0038de53a0b0608f89fc

See more details on using hashes here.

File details

Details for the file polybench-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: polybench-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 96.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-1022-azure

File hashes

Hashes for polybench-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8a32bf980e6f848c09dc9f398488f82a62e32bf4d8e01d6352e55ac95e2d949
MD5 9676a07af70b1e7f7a13a2b52e51a987
BLAKE2b-256 0922696ff1153847509c9ac08fb6530f86d58cd3a7c8b90c30b630d632ed2eec

See more details on using hashes here.

Supported by

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