Benchmarks
Each component package of Yao has a benchmark test based on PkgBenchmark
To run the benchmarks, simply type
using PkgBenchmark
benchmarkpkg("YaoArrayRegister")
benchmarkpkg("YaoBlocks")
You can also compare the benchmark between different commits and pull requests. Check the documentation of PkgBenchmark for more details.
Single Gate Benchmarks against ProjectQ
Click the image to check the interactive plot.
QCBM Benchmark against ProjectQ
The ProjectQ based implementation can be found at: github:QuantumCircuitBornMachine#benchmarkq
Configuration Info:
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.5.0)
CPU: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Package Info
Yao:
(v1.1) pkg> status Yao
Status `~/.julia/environments/v1.1/Project.toml`
[50ba71b6] BitBasis v0.5.1 [`../../dev/BitBasis`]
[5872b779] Yao v0.5.0 [`~/.julia/dev/Yao`]
[e600142f] YaoArrayRegister v0.3.8 [`~/.julia/dev/YaoArrayRegister`]
[a8f54c17] YaoBase v0.9.1 [`~/.julia/dev/YaoBase`]
[418bc28f] YaoBlocks v0.4.0 [`~/.julia/dev/YaoBlocks`]
ProjectQ:
In [2]: projectq.__version__
Out[2]: '0.4.2'
# packages in environment:
#
# Name Version Build Channel
cffi 1.12.2 py37hb5b8e2f_1
chardet 3.0.4 py37_1
libcxx 4.0.1 hcfea43d_1
libcxxabi 4.0.1 hcfea43d_1
libffi 3.2.1 h475c297_4
libgfortran 3.0.1 h93005f0_2
libiconv 1.15 hdd342a3_7
libpng 1.6.37 ha441bb4_0
libsodium 1.0.16 h3efe00b_0
mkl 2019.3 199
mkl-service 1.1.2 py37hfbe908c_5
mkl_fft 1.0.12 py37h5e564d8_0
mkl_random 1.0.2 py37h27c97d8_0
pytest 4.5.0 py37_0
pytest-benchmark 3.2.2 py37_0
python 3.7.3 h359304d_0
python-dateutil 2.8.0 py37_0
python.app 2 py37_9
yaml 0.1.7 hc338f04_2
zeromq 4.3.1 h0a44026_3
zlib 1.2.11 h1de35cc_3