QuantumSavory / QuantumClifford.jl

Clifford circuits, graph states, and other quantum Stabilizer formalism tools.
MIT License
103 stars 42 forks source link

Adding family of classical binary [[2ʳ - 1, 2ʳ - 1 - r, 3]] Hamming c… #275

Open Fe-r-oz opened 1 month ago

Fe-r-oz commented 1 month ago

Adding family of classical binary [[2ʳ - 1, 2ʳ - 1 - r, 3]] Hamming codes along with Hamming/Sphere-packing, Gilbert-Varshamov, Griesmer and other bounds. I believe it would be nice to have these bounds defined.

Please do let me know that I have defined the bounds at the correct places, meaning in ECC.jl whenever you review this PR. Thanks!

github-actions[bot] commented 1 month ago
Benchmark Result # Judge result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmarks: - Target: 16 May 2024 - 14:52 - Baseline: 16 May 2024 - 15:00 * Package commits: - Target: 275b34 - Baseline: 44f618 * Julia commits: - Target: e7a1de - Baseline: e7a1de * Julia command flags: - Target: None - Baseline: None * Environment variables: - Target: None - Baseline: None ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds). | ID | time ratio | memory ratio | |--------------------------------------------------------------------|------------------------------|------------------------------| | `["circuitsim", "pftrajectories_sumtype", "q1001_r1"]` | 0.66 (5%) :white_check_mark: | 1.00 (1%) | | `["circuitsim", "pftrajectories_sumtype", "q1001_r100"]` | 0.87 (5%) :white_check_mark: | 1.00 (1%) | | `["circuitsim", "pftrajectories_sumtype", "q101_r1"]` | 0.67 (5%) :white_check_mark: | 1.00 (1%) | | `["clifford", "dense", "cnot_on_dense500_stab"]` | 0.95 (5%) :white_check_mark: | 1.00 (1%) | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 0.94 (5%) :white_check_mark: | 0.99 (1%) :white_check_mark: | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.02 (5%) | 1.02 (1%) :x: | | `["ecc", "evaluate_decoder", "toric8_bp_shorsyn"]` | 0.99 (5%) | 0.98 (1%) :white_check_mark: | | `["pauli", "mul", "20000000"]` | 0.90 (5%) :white_check_mark: | 1.00 (1%) | | `["stabilizer", "tensor", "diag_pow5_20"]` | 1.06 (5%) :x: | 1.00 (1%) | | `["stabilizer", "tensor", "pow5_20"]` | 1.06 (5%) :x: | 1.00 (1%) | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ### Target ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 2294 s 0 s 160 s 6379 s 0 s #2 0 MHz 2164 s 0 s 197 s 6457 s 0 s #3 0 MHz 2676 s 0 s 170 s 5988 s 0 s #4 0 MHz 2072 s 0 s 162 s 6598 s 0 s Memory: 15.606498718261719 GB (13322.94921875 MB free) Uptime: 887.03 sec Load Avg: 1.05 1.05 0.75 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` ### Baseline ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 2984 s 0 s 211 s 10027 s 0 s #2 0 MHz 2825 s 0 s 252 s 10131 s 0 s #3 0 MHz 3930 s 0 s 218 s 9077 s 0 s #4 0 MHz 3882 s 0 s 212 s 9131 s 0 s Memory: 15.606498718261719 GB (13326.51953125 MB free) Uptime: 1326.84 sec Load Avg: 1.0 1.02 0.87 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Target result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmark: 16 May 2024 - 14:52 * Package commit: 275b34 * Julia commit: e7a1de * Julia command flags: None * Environment variables: None ## Results Below is a table of this job's results, obtained by running the benchmarks. The values listed in the `ID` column have the structure `[parent_group, child_group, ..., key]`, and can be used to index into the BaseBenchmarks suite to retrieve the corresponding benchmarks. The percentages accompanying time and memory values in the below table are noise tolerances. The "true" time/memory value for a given benchmark is expected to fall within this percentage of the reported value. An empty cell means that the value was zero. | ID | time | GC time | memory | allocations | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["circuitsim", "compactification", "compact"]` | 7.015 ms (5%) | | | | | `["circuitsim", "compactification", "no_compact"]` | 7.178 ms (5%) | | 281.25 KiB (1%) | 6000 | | `["circuitsim", "mctrajectories", "q1001_r1"]` | 15.002 ms (5%) | | 500.77 KiB (1%) | 18019 | | `["circuitsim", "mctrajectories", "q101_r1"]` | 174.275 μs (5%) | | 50.53 KiB (1%) | 1818 | | `["circuitsim", "mctrajectories_sumtype", "q1001_r1"]` | 13.254 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_sumtype", "q101_r1"]` | 120.795 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "mctrajectories_union", "q1001_r1"]` | 13.019 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_union", "q101_r1"]` | 118.962 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "pftrajectories", "q1001_r1"]` | 59.611 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r100"]` | 170.017 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r10000"]` | 1.097 ms (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q101_r1"]` | 6.001 μs (5%) | | 9.42 KiB (1%) | 201 | | `["circuitsim", "pftrajectories_sumtype", "q1001_r1"]` | 42.559 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r100"]` | 150.901 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000"]` | 1.080 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"]` | 5.856 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q101_r1"]` | 4.308 μs (5%) | | | | | `["circuitsim", "pftrajectories_union", "q1001_r1"]` | 22.912 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r100"]` | 133.680 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r10000"]` | 1.059 ms (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q101_r1"]` | 2.364 μs (5%) | | 96 bytes (1%) | 2 | | `["clifford", "dense", "cnot250_on_dense500_destab"]` | 11.426 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_dense500_stab"]` | 6.022 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_destab"]` | 1.117 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_stab"]` | 559.033 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot_on_dense500_destab"]` | 48.381 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_dense500_stab"]` | 22.662 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_destab"]` | 26.119 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_stab"]` | 12.704 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "dense500_on_dense500_destab"]` | 11.420 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_dense500_stab"]` | 6.020 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_destab"]` | 968.547 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_stab"]` | 559.062 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "symbolic", "cnot250_on_dense500_destab"]` | 1.479 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_dense500_stab"]` | 701.969 μs (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_destab"]` | 1.197 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_stab"]` | 584.450 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_destab"]` | 4.858 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_stab"]` | 2.364 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_destab"]` | 4.799 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_stab"]` | 2.374 μs (5%) | | | | | `["ecc", "evaluate_decoder", "shor_bp_comm"]` | 1.851 ms (5%) | | 1.77 MiB (1%) | 42555 | | `["ecc", "evaluate_decoder", "shor_bp_naivesyn"]` | 4.377 ms (5%) | | 3.63 MiB (1%) | 82069 | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 4.796 ms (5%) | | 3.72 MiB (1%) | 82955 | | `["ecc", "evaluate_decoder", "shor_pybp_comm"]` | 25.454 ms (5%) | | 3.97 MiB (1%) | 116084 | | `["ecc", "evaluate_decoder", "shor_pybp_naivesyn"]` | 51.494 ms (5%) | | 7.99 MiB (1%) | 228133 | | `["ecc", "evaluate_decoder", "shor_pybp_shorsyn"]` | 51.997 ms (5%) | | 8.07 MiB (1%) | 229131 | | `["ecc", "evaluate_decoder", "shor_table_comm"]` | 256.589 μs (5%) | | 241.48 KiB (1%) | 4595 | | `["ecc", "evaluate_decoder", "shor_table_naivesyn"]` | 1.106 ms (5%) | | 350.88 KiB (1%) | 5155 | | `["ecc", "evaluate_decoder", "shor_table_shorsyn"]` | 1.533 ms (5%) | | 440.22 KiB (1%) | 6153 | | `["ecc", "evaluate_decoder", "toric8_bp_comm"]` | 687.227 ms (5%) | 12.729 ms | 173.46 MiB (1%) | 1039918 | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.421 s (5%) | 26.414 ms | 355.71 MiB (1%) | 2164596 | | `["ecc", "evaluate_decoder", "toric8_bp_shorsyn"]` | 1.410 s (5%) | 25.578 ms | 352.29 MiB (1%) | 2163869 | | `["ecc", "evaluate_decoder", "toric8_pybp_comm"]` | 387.469 ms (5%) | | 7.31 MiB (1%) | 135575 | | `["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"]` | 820.680 ms (5%) | | 16.90 MiB (1%) | 317606 | | `["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"]` | 815.388 ms (5%) | | 19.38 MiB (1%) | 351522 | | `["ecc", "evaluate_decoder", "toric8_pymatch_comm"]` | 4.195 ms (5%) | | 1.95 MiB (1%) | 23180 | | `["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"]` | 17.297 ms (5%) | | 6.03 MiB (1%) | 92823 | | `["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"]` | 26.457 ms (5%) | | 8.50 MiB (1%) | 126739 | | `["ecc", "evaluate_decoder", "toric8_table_comm"]` | 2.635 ms (5%) | | 1.64 MiB (1%) | 23086 | | `["ecc", "evaluate_decoder", "toric8_table_naivesyn"]` | 15.122 ms (5%) | | 5.38 MiB (1%) | 92628 | | `["ecc", "evaluate_decoder", "toric8_table_shorsyn"]` | 24.402 ms (5%) | | 7.86 MiB (1%) | 126544 | | `["pauli", "mul", "100"]` | 14.204 ns (5%) | | | | | `["pauli", "mul", "1000"]` | 17.899 ns (5%) | | | | | `["pauli", "mul", "100000"]` | 718.159 ns (5%) | | | | | `["pauli", "mul", "20000000"]` | 171.730 μs (5%) | | | | | `["stabilizer", "canon", "cano500"]` | 3.059 ms (5%) | | | | | `["stabilizer", "canon", "diag_cano500"]` | 603.376 μs (5%) | | | | | `["stabilizer", "canon", "diag_gott500"]` | 4.123 ms (5%) | | 5.19 MiB (1%) | 34521 | | `["stabilizer", "canon", "diag_rref500"]` | 732.517 μs (5%) | | | | | `["stabilizer", "canon", "gott500"]` | 6.582 ms (5%) | | 5.19 MiB (1%) | 34531 | | `["stabilizer", "canon", "md_cano500"]` | 1.564 ms (5%) | | | | | `["stabilizer", "canon", "md_rref500"]` | 1.632 ms (5%) | | | | | `["stabilizer", "canon", "rref500"]` | 3.153 ms (5%) | | | | | `["stabilizer", "project", "destabilizer"]` | 18.394 μs (5%) | | 288 bytes (1%) | 5 | | `["stabilizer", "project", "stabilizer"]` | 8.857 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "tensor", "diag_pow5_20"]` | 1.266 ms (5%) | | 23.97 MiB (1%) | 34 | | `["stabilizer", "tensor", "pow5_20"]` | 2.648 μs (5%) | | 6.44 KiB (1%) | 31 | | `["stabilizer", "trace", "destabilizer"]` | 31.418 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "trace", "stabilizer"]` | 24.265 μs (5%) | | 112 bytes (1%) | 3 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 2294 s 0 s 160 s 6379 s 0 s #2 0 MHz 2164 s 0 s 197 s 6457 s 0 s #3 0 MHz 2676 s 0 s 170 s 5988 s 0 s #4 0 MHz 2072 s 0 s 162 s 6598 s 0 s Memory: 15.606498718261719 GB (13322.94921875 MB free) Uptime: 887.03 sec Load Avg: 1.05 1.05 0.75 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Baseline result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmark: 16 May 2024 - 15:0 * Package commit: 44f618 * Julia commit: e7a1de * Julia command flags: None * Environment variables: None ## Results Below is a table of this job's results, obtained by running the benchmarks. The values listed in the `ID` column have the structure `[parent_group, child_group, ..., key]`, and can be used to index into the BaseBenchmarks suite to retrieve the corresponding benchmarks. The percentages accompanying time and memory values in the below table are noise tolerances. The "true" time/memory value for a given benchmark is expected to fall within this percentage of the reported value. An empty cell means that the value was zero. | ID | time | GC time | memory | allocations | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["circuitsim", "compactification", "compact"]` | 6.971 ms (5%) | | | | | `["circuitsim", "compactification", "no_compact"]` | 7.196 ms (5%) | | 281.25 KiB (1%) | 6000 | | `["circuitsim", "mctrajectories", "q1001_r1"]` | 15.424 ms (5%) | | 500.77 KiB (1%) | 18019 | | `["circuitsim", "mctrajectories", "q101_r1"]` | 174.235 μs (5%) | | 50.53 KiB (1%) | 1818 | | `["circuitsim", "mctrajectories_sumtype", "q1001_r1"]` | 13.705 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_sumtype", "q101_r1"]` | 121.005 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "mctrajectories_union", "q1001_r1"]` | 13.414 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_union", "q101_r1"]` | 119.592 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "pftrajectories", "q1001_r1"]` | 59.510 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r100"]` | 171.911 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r10000"]` | 1.100 ms (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q101_r1"]` | 6.001 μs (5%) | | 9.42 KiB (1%) | 201 | | `["circuitsim", "pftrajectories_sumtype", "q1001_r1"]` | 64.189 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r100"]` | 173.373 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000"]` | 1.103 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"]` | 5.838 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q101_r1"]` | 6.432 μs (5%) | | | | | `["circuitsim", "pftrajectories_union", "q1001_r1"]` | 22.301 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r100"]` | 135.212 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r10000"]` | 1.055 ms (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q101_r1"]` | 2.304 μs (5%) | | 96 bytes (1%) | 2 | | `["clifford", "dense", "cnot250_on_dense500_destab"]` | 11.477 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_dense500_stab"]` | 5.802 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_destab"]` | 1.120 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_stab"]` | 559.824 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot_on_dense500_destab"]` | 49.292 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_dense500_stab"]` | 23.935 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_destab"]` | 25.407 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_stab"]` | 13.304 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "dense500_on_dense500_destab"]` | 11.469 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_dense500_stab"]` | 5.801 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_destab"]` | 968.595 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_stab"]` | 559.854 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "symbolic", "cnot250_on_dense500_destab"]` | 1.485 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_dense500_stab"]` | 701.097 μs (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_destab"]` | 1.207 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_stab"]` | 584.760 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_destab"]` | 4.869 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_stab"]` | 2.354 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_destab"]` | 4.789 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_stab"]` | 2.374 μs (5%) | | | | | `["ecc", "evaluate_decoder", "shor_bp_comm"]` | 1.800 ms (5%) | | 1.77 MiB (1%) | 42541 | | `["ecc", "evaluate_decoder", "shor_bp_naivesyn"]` | 4.268 ms (5%) | | 3.63 MiB (1%) | 81999 | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 5.095 ms (5%) | | 3.75 MiB (1%) | 83795 | | `["ecc", "evaluate_decoder", "shor_pybp_comm"]` | 25.837 ms (5%) | | 3.97 MiB (1%) | 116084 | | `["ecc", "evaluate_decoder", "shor_pybp_naivesyn"]` | 51.708 ms (5%) | | 7.99 MiB (1%) | 228133 | | `["ecc", "evaluate_decoder", "shor_pybp_shorsyn"]` | 51.668 ms (5%) | | 8.07 MiB (1%) | 229131 | | `["ecc", "evaluate_decoder", "shor_table_comm"]` | 255.967 μs (5%) | | 241.48 KiB (1%) | 4595 | | `["ecc", "evaluate_decoder", "shor_table_naivesyn"]` | 1.084 ms (5%) | | 350.88 KiB (1%) | 5155 | | `["ecc", "evaluate_decoder", "shor_table_shorsyn"]` | 1.510 ms (5%) | | 440.22 KiB (1%) | 6153 | | `["ecc", "evaluate_decoder", "toric8_bp_comm"]` | 686.834 ms (5%) | 11.748 ms | 173.47 MiB (1%) | 1040002 | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.389 s (5%) | 22.652 ms | 349.98 MiB (1%) | 2130905 | | `["ecc", "evaluate_decoder", "toric8_bp_shorsyn"]` | 1.428 s (5%) | 26.311 ms | 359.99 MiB (1%) | 2209138 | | `["ecc", "evaluate_decoder", "toric8_pybp_comm"]` | 391.695 ms (5%) | | 7.31 MiB (1%) | 135575 | | `["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"]` | 815.167 ms (5%) | | 16.90 MiB (1%) | 317606 | | `["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"]` | 830.920 ms (5%) | | 19.38 MiB (1%) | 351522 | | `["ecc", "evaluate_decoder", "toric8_pymatch_comm"]` | 4.203 ms (5%) | | 1.95 MiB (1%) | 23180 | | `["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"]` | 16.764 ms (5%) | | 6.03 MiB (1%) | 92823 | | `["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"]` | 25.878 ms (5%) | | 8.50 MiB (1%) | 126739 | | `["ecc", "evaluate_decoder", "toric8_table_comm"]` | 2.634 ms (5%) | | 1.64 MiB (1%) | 23086 | | `["ecc", "evaluate_decoder", "toric8_table_naivesyn"]` | 14.576 ms (5%) | | 5.38 MiB (1%) | 92628 | | `["ecc", "evaluate_decoder", "toric8_table_shorsyn"]` | 23.781 ms (5%) | | 7.86 MiB (1%) | 126544 | | `["pauli", "mul", "100"]` | 14.486 ns (5%) | | | | | `["pauli", "mul", "1000"]` | 18.251 ns (5%) | | | | | `["pauli", "mul", "100000"]` | 713.295 ns (5%) | | | | | `["pauli", "mul", "20000000"]` | 190.986 μs (5%) | | | | | `["stabilizer", "canon", "cano500"]` | 3.020 ms (5%) | | | | | `["stabilizer", "canon", "diag_cano500"]` | 618.653 μs (5%) | | | | | `["stabilizer", "canon", "diag_gott500"]` | 4.174 ms (5%) | | 5.19 MiB (1%) | 34521 | | `["stabilizer", "canon", "diag_rref500"]` | 731.835 μs (5%) | | | | | `["stabilizer", "canon", "gott500"]` | 6.576 ms (5%) | | 5.19 MiB (1%) | 34531 | | `["stabilizer", "canon", "md_cano500"]` | 1.542 ms (5%) | | | | | `["stabilizer", "canon", "md_rref500"]` | 1.556 ms (5%) | | | | | `["stabilizer", "canon", "rref500"]` | 3.143 ms (5%) | | | | | `["stabilizer", "project", "destabilizer"]` | 17.693 μs (5%) | | 288 bytes (1%) | 5 | | `["stabilizer", "project", "stabilizer"]` | 8.696 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "tensor", "diag_pow5_20"]` | 1.190 ms (5%) | | 23.97 MiB (1%) | 34 | | `["stabilizer", "tensor", "pow5_20"]` | 2.500 μs (5%) | | 6.44 KiB (1%) | 31 | | `["stabilizer", "trace", "destabilizer"]` | 31.108 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "trace", "stabilizer"]` | 24.245 μs (5%) | | 112 bytes (1%) | 3 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 2984 s 0 s 211 s 10027 s 0 s #2 0 MHz 2825 s 0 s 252 s 10131 s 0 s #3 0 MHz 3930 s 0 s 218 s 9077 s 0 s #4 0 MHz 3882 s 0 s 212 s 9131 s 0 s Memory: 15.606498718261719 GB (13326.51953125 MB free) Uptime: 1326.84 sec Load Avg: 1.0 1.02 0.87 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Runtime information | Runtime Info | | |:--|:--| | BLAS #threads | 2 | | `BLAS.vendor()` | `lbt` | | `Sys.CPU_THREADS` | 4 | `lscpu` output: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 48 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: AuthenticAMD Model name: AMD EPYC 7763 64-Core Processor CPU family: 25 Model: 1 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 Stepping: 1 BogoMIPS: 4890.86 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm Virtualization: AMD-V Hypervisor vendor: Microsoft Virtualization type: full L1d cache: 64 KiB (2 instances) L1i cache: 64 KiB (2 instances) L2 cache: 1 MiB (2 instances) L3 cache: 32 MiB (1 instance) NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerability Gather data sampling: Not affected Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Mmio stale data: Not affected Vulnerability Retbleed: Not affected Vulnerability Spec rstack overflow: Vulnerable: Safe RET, no microcode Vulnerability Spec store bypass: Vulnerable Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected | Cpu Property | Value | |:------------------ |:---------------------------------------------------------- | | Brand | AMD EPYC 7763 64-Core Processor | | Vendor | :AMD | | Architecture | :Unknown | | Model | Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00 | | Cores | 16 physical cores, 16 logical cores (on executing CPU) | | | No Hyperthreading hardware capability detected | | Clock Frequencies | Not supported by CPU | | Data Cache | Level 1:3 : (32, 512, 32768) kbytes | | | 64 byte cache line size | | Address Size | 48 bits virtual, 48 bits physical | | SIMD | 256 bit = 32 byte max. SIMD vector size | | Time Stamp Counter | TSC is accessible via `rdtsc` | | | TSC runs at constant rate (invariant from clock frequency) | | Perf. Monitoring | Performance Monitoring Counters (PMC) are not supported | | Hypervisor | Yes, Microsoft |
Benchmark Result # Judge result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmarks: - Target: 16 May 2024 - 15:03 - Baseline: 16 May 2024 - 15:11 * Package commits: - Target: 758176 - Baseline: 44f618 * Julia commits: - Target: e7a1de - Baseline: e7a1de * Julia command flags: - Target: None - Baseline: None * Environment variables: - Target: None - Baseline: None ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds). | ID | time ratio | memory ratio | |--------------------------------------------------------------------|------------------------------|------------------------------| | `["circuitsim", "mctrajectories_union", "q1001_r1"]` | 1.12 (5%) :x: | 1.00 (1%) | | `["clifford", "dense", "cnot250_on_diag500_destab"]` | 1.15 (5%) :x: | 1.00 (1%) | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 0.92 (5%) :white_check_mark: | 0.99 (1%) :white_check_mark: | | `["ecc", "evaluate_decoder", "shor_pybp_comm"]` | 0.95 (5%) :white_check_mark: | 1.00 (1%) | | `["ecc", "evaluate_decoder", "shor_pybp_naivesyn"]` | 0.95 (5%) :white_check_mark: | 1.00 (1%) | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.00 (5%) | 1.01 (1%) :x: | | `["pauli", "mul", "20000000"]` | 1.06 (5%) :x: | 1.00 (1%) | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ### Target ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 3057 s 0 s 180 s 5624 s 0 s #2 0 MHz 2971 s 0 s 170 s 5720 s 0 s #3 0 MHz 1762 s 0 s 168 s 6926 s 0 s #4 0 MHz 1498 s 0 s 181 s 7164 s 0 s Memory: 15.606498718261719 GB (13273.7578125 MB free) Uptime: 890.09 sec Load Avg: 1.04 1.03 0.73 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` ### Baseline ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 4375 s 0 s 236 s 8680 s 0 s #2 0 MHz 4688 s 0 s 217 s 8384 s 0 s #3 0 MHz 2565 s 0 s 217 s 10500 s 0 s #4 0 MHz 2112 s 0 s 236 s 10922 s 0 s Memory: 15.606498718261719 GB (13299.37109375 MB free) Uptime: 1333.7 sec Load Avg: 1.0 1.02 0.86 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Target result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmark: 16 May 2024 - 15:3 * Package commit: 758176 * Julia commit: e7a1de * Julia command flags: None * Environment variables: None ## Results Below is a table of this job's results, obtained by running the benchmarks. The values listed in the `ID` column have the structure `[parent_group, child_group, ..., key]`, and can be used to index into the BaseBenchmarks suite to retrieve the corresponding benchmarks. The percentages accompanying time and memory values in the below table are noise tolerances. The "true" time/memory value for a given benchmark is expected to fall within this percentage of the reported value. An empty cell means that the value was zero. | ID | time | GC time | memory | allocations | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["circuitsim", "compactification", "compact"]` | 7.211 ms (5%) | | | | | `["circuitsim", "compactification", "no_compact"]` | 7.367 ms (5%) | | 281.25 KiB (1%) | 6000 | | `["circuitsim", "mctrajectories", "q1001_r1"]` | 15.205 ms (5%) | | 500.77 KiB (1%) | 18019 | | `["circuitsim", "mctrajectories", "q101_r1"]` | 172.643 μs (5%) | | 50.53 KiB (1%) | 1818 | | `["circuitsim", "mctrajectories_sumtype", "q1001_r1"]` | 13.442 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_sumtype", "q101_r1"]` | 121.276 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "mctrajectories_union", "q1001_r1"]` | 14.634 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_union", "q101_r1"]` | 119.834 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "pftrajectories", "q1001_r1"]` | 59.662 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r100"]` | 169.256 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r10000"]` | 1.095 ms (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q101_r1"]` | 6.001 μs (5%) | | 9.42 KiB (1%) | 201 | | `["circuitsim", "pftrajectories_sumtype", "q1001_r1"]` | 43.551 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r100"]` | 150.451 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000"]` | 1.081 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"]` | 5.858 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q101_r1"]` | 4.378 μs (5%) | | | | | `["circuitsim", "pftrajectories_union", "q1001_r1"]` | 22.612 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r100"]` | 132.197 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r10000"]` | 1.053 ms (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q101_r1"]` | 2.334 μs (5%) | | 96 bytes (1%) | 2 | | `["clifford", "dense", "cnot250_on_dense500_destab"]` | 11.609 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_dense500_stab"]` | 5.867 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_destab"]` | 1.120 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_stab"]` | 559.555 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot_on_dense500_destab"]` | 48.520 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_dense500_stab"]` | 22.602 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_destab"]` | 25.658 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_stab"]` | 12.834 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "dense500_on_dense500_destab"]` | 11.606 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_dense500_stab"]` | 5.878 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_destab"]` | 966.544 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_stab"]` | 559.525 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "symbolic", "cnot250_on_dense500_destab"]` | 1.473 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_dense500_stab"]` | 696.150 μs (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_destab"]` | 1.204 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_stab"]` | 580.083 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_destab"]` | 4.849 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_stab"]` | 2.354 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_destab"]` | 4.809 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_stab"]` | 2.354 μs (5%) | | | | | `["ecc", "evaluate_decoder", "shor_bp_comm"]` | 1.802 ms (5%) | | 1.77 MiB (1%) | 42583 | | `["ecc", "evaluate_decoder", "shor_bp_naivesyn"]` | 4.281 ms (5%) | | 3.63 MiB (1%) | 82083 | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 4.715 ms (5%) | | 3.72 MiB (1%) | 83011 | | `["ecc", "evaluate_decoder", "shor_pybp_comm"]` | 24.488 ms (5%) | | 3.97 MiB (1%) | 116084 | | `["ecc", "evaluate_decoder", "shor_pybp_naivesyn"]` | 49.409 ms (5%) | | 7.99 MiB (1%) | 228133 | | `["ecc", "evaluate_decoder", "shor_pybp_shorsyn"]` | 50.393 ms (5%) | | 8.07 MiB (1%) | 229131 | | `["ecc", "evaluate_decoder", "shor_table_comm"]` | 256.049 μs (5%) | | 241.48 KiB (1%) | 4595 | | `["ecc", "evaluate_decoder", "shor_table_naivesyn"]` | 1.082 ms (5%) | | 350.88 KiB (1%) | 5155 | | `["ecc", "evaluate_decoder", "shor_table_shorsyn"]` | 1.512 ms (5%) | | 440.22 KiB (1%) | 6153 | | `["ecc", "evaluate_decoder", "toric8_bp_comm"]` | 704.103 ms (5%) | 12.677 ms | 172.10 MiB (1%) | 1031924 | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.420 s (5%) | 32.822 ms | 356.14 MiB (1%) | 2167158 | | `["ecc", "evaluate_decoder", "toric8_bp_shorsyn"]` | 1.401 s (5%) | 29.093 ms | 352.45 MiB (1%) | 2164800 | | `["ecc", "evaluate_decoder", "toric8_pybp_comm"]` | 393.235 ms (5%) | | 7.31 MiB (1%) | 135575 | | `["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"]` | 813.742 ms (5%) | | 16.90 MiB (1%) | 317606 | | `["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"]` | 826.420 ms (5%) | | 19.38 MiB (1%) | 351522 | | `["ecc", "evaluate_decoder", "toric8_pymatch_comm"]` | 4.171 ms (5%) | | 1.95 MiB (1%) | 23180 | | `["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"]` | 16.737 ms (5%) | | 6.03 MiB (1%) | 92823 | | `["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"]` | 25.950 ms (5%) | | 8.50 MiB (1%) | 126739 | | `["ecc", "evaluate_decoder", "toric8_table_comm"]` | 2.651 ms (5%) | | 1.64 MiB (1%) | 23086 | | `["ecc", "evaluate_decoder", "toric8_table_naivesyn"]` | 14.656 ms (5%) | | 5.38 MiB (1%) | 92628 | | `["ecc", "evaluate_decoder", "toric8_table_shorsyn"]` | 23.935 ms (5%) | | 7.86 MiB (1%) | 126544 | | `["pauli", "mul", "100"]` | 14.506 ns (5%) | | | | | `["pauli", "mul", "1000"]` | 18.218 ns (5%) | | | | | `["pauli", "mul", "100000"]` | 730.131 ns (5%) | | | | | `["pauli", "mul", "20000000"]` | 197.399 μs (5%) | | | | | `["stabilizer", "canon", "cano500"]` | 3.019 ms (5%) | | | | | `["stabilizer", "canon", "diag_cano500"]` | 615.219 μs (5%) | | | | | `["stabilizer", "canon", "diag_gott500"]` | 4.102 ms (5%) | | 5.19 MiB (1%) | 34521 | | `["stabilizer", "canon", "diag_rref500"]` | 655.294 μs (5%) | | | | | `["stabilizer", "canon", "gott500"]` | 6.551 ms (5%) | | 5.19 MiB (1%) | 34531 | | `["stabilizer", "canon", "md_cano500"]` | 1.544 ms (5%) | | | | | `["stabilizer", "canon", "md_rref500"]` | 1.579 ms (5%) | | | | | `["stabilizer", "canon", "rref500"]` | 3.145 ms (5%) | | | | | `["stabilizer", "project", "destabilizer"]` | 18.104 μs (5%) | | 288 bytes (1%) | 5 | | `["stabilizer", "project", "stabilizer"]` | 8.836 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "tensor", "diag_pow5_20"]` | 1.172 ms (5%) | | 23.97 MiB (1%) | 34 | | `["stabilizer", "tensor", "pow5_20"]` | 2.476 μs (5%) | | 6.44 KiB (1%) | 31 | | `["stabilizer", "trace", "destabilizer"]` | 31.469 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "trace", "stabilizer"]` | 24.435 μs (5%) | | 112 bytes (1%) | 3 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 3057 s 0 s 180 s 5624 s 0 s #2 0 MHz 2971 s 0 s 170 s 5720 s 0 s #3 0 MHz 1762 s 0 s 168 s 6926 s 0 s #4 0 MHz 1498 s 0 s 181 s 7164 s 0 s Memory: 15.606498718261719 GB (13273.7578125 MB free) Uptime: 890.09 sec Load Avg: 1.04 1.03 0.73 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Baseline result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmark: 16 May 2024 - 15:11 * Package commit: 44f618 * Julia commit: e7a1de * Julia command flags: None * Environment variables: None ## Results Below is a table of this job's results, obtained by running the benchmarks. The values listed in the `ID` column have the structure `[parent_group, child_group, ..., key]`, and can be used to index into the BaseBenchmarks suite to retrieve the corresponding benchmarks. The percentages accompanying time and memory values in the below table are noise tolerances. The "true" time/memory value for a given benchmark is expected to fall within this percentage of the reported value. An empty cell means that the value was zero. | ID | time | GC time | memory | allocations | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["circuitsim", "compactification", "compact"]` | 6.889 ms (5%) | | | | | `["circuitsim", "compactification", "no_compact"]` | 7.073 ms (5%) | | 281.25 KiB (1%) | 6000 | | `["circuitsim", "mctrajectories", "q1001_r1"]` | 15.289 ms (5%) | | 500.77 KiB (1%) | 18019 | | `["circuitsim", "mctrajectories", "q101_r1"]` | 172.723 μs (5%) | | 50.53 KiB (1%) | 1818 | | `["circuitsim", "mctrajectories_sumtype", "q1001_r1"]` | 13.412 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_sumtype", "q101_r1"]` | 121.437 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "mctrajectories_union", "q1001_r1"]` | 13.112 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_union", "q101_r1"]` | 119.744 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "pftrajectories", "q1001_r1"]` | 61.716 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r100"]` | 174.015 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r10000"]` | 1.102 ms (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q101_r1"]` | 6.212 μs (5%) | | 9.42 KiB (1%) | 201 | | `["circuitsim", "pftrajectories_sumtype", "q1001_r1"]` | 42.690 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r100"]` | 150.692 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000"]` | 1.080 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"]` | 5.828 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q101_r1"]` | 4.308 μs (5%) | | | | | `["circuitsim", "pftrajectories_union", "q1001_r1"]` | 22.291 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r100"]` | 132.838 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r10000"]` | 1.054 ms (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q101_r1"]` | 2.314 μs (5%) | | 96 bytes (1%) | 2 | | `["clifford", "dense", "cnot250_on_dense500_destab"]` | 11.522 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_dense500_stab"]` | 5.810 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_destab"]` | 975.364 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_stab"]` | 559.055 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot_on_dense500_destab"]` | 48.600 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_dense500_stab"]` | 22.733 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_destab"]` | 25.798 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_stab"]` | 12.964 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "dense500_on_dense500_destab"]` | 11.533 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_dense500_stab"]` | 5.797 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_destab"]` | 966.988 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_stab"]` | 559.045 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "symbolic", "cnot250_on_dense500_destab"]` | 1.478 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_dense500_stab"]` | 700.298 μs (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_destab"]` | 1.197 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_stab"]` | 584.473 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_destab"]` | 4.839 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_stab"]` | 2.364 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_destab"]` | 4.799 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_stab"]` | 2.364 μs (5%) | | | | | `["ecc", "evaluate_decoder", "shor_bp_comm"]` | 1.871 ms (5%) | | 1.77 MiB (1%) | 42695 | | `["ecc", "evaluate_decoder", "shor_bp_naivesyn"]` | 4.354 ms (5%) | | 3.62 MiB (1%) | 81803 | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 5.125 ms (5%) | | 3.77 MiB (1%) | 84285 | | `["ecc", "evaluate_decoder", "shor_pybp_comm"]` | 25.899 ms (5%) | | 3.97 MiB (1%) | 116084 | | `["ecc", "evaluate_decoder", "shor_pybp_naivesyn"]` | 52.214 ms (5%) | | 7.99 MiB (1%) | 228133 | | `["ecc", "evaluate_decoder", "shor_pybp_shorsyn"]` | 52.874 ms (5%) | | 8.07 MiB (1%) | 229131 | | `["ecc", "evaluate_decoder", "shor_table_comm"]` | 257.050 μs (5%) | | 241.48 KiB (1%) | 4595 | | `["ecc", "evaluate_decoder", "shor_table_naivesyn"]` | 1.085 ms (5%) | | 350.88 KiB (1%) | 5155 | | `["ecc", "evaluate_decoder", "shor_table_shorsyn"]` | 1.509 ms (5%) | | 440.22 KiB (1%) | 6153 | | `["ecc", "evaluate_decoder", "toric8_bp_comm"]` | 705.423 ms (5%) | 17.249 ms | 173.46 MiB (1%) | 1039904 | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.415 s (5%) | 24.702 ms | 352.54 MiB (1%) | 2145948 | | `["ecc", "evaluate_decoder", "toric8_bp_shorsyn"]` | 1.423 s (5%) | 35.703 ms | 355.01 MiB (1%) | 2179822 | | `["ecc", "evaluate_decoder", "toric8_pybp_comm"]` | 408.103 ms (5%) | | 7.31 MiB (1%) | 135575 | | `["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"]` | 824.811 ms (5%) | | 16.90 MiB (1%) | 317606 | | `["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"]` | 839.452 ms (5%) | | 19.38 MiB (1%) | 351522 | | `["ecc", "evaluate_decoder", "toric8_pymatch_comm"]` | 4.205 ms (5%) | | 1.95 MiB (1%) | 23180 | | `["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"]` | 16.910 ms (5%) | | 6.03 MiB (1%) | 92823 | | `["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"]` | 25.967 ms (5%) | | 8.50 MiB (1%) | 126739 | | `["ecc", "evaluate_decoder", "toric8_table_comm"]` | 2.658 ms (5%) | | 1.64 MiB (1%) | 23086 | | `["ecc", "evaluate_decoder", "toric8_table_naivesyn"]` | 14.717 ms (5%) | | 5.38 MiB (1%) | 92628 | | `["ecc", "evaluate_decoder", "toric8_table_shorsyn"]` | 23.815 ms (5%) | | 7.86 MiB (1%) | 126544 | | `["pauli", "mul", "100"]` | 14.265 ns (5%) | | | | | `["pauli", "mul", "1000"]` | 18.219 ns (5%) | | | | | `["pauli", "mul", "100000"]` | 727.098 ns (5%) | | | | | `["pauli", "mul", "20000000"]` | 186.298 μs (5%) | | | | | `["stabilizer", "canon", "cano500"]` | 3.033 ms (5%) | | | | | `["stabilizer", "canon", "diag_cano500"]` | 637.092 μs (5%) | | | | | `["stabilizer", "canon", "diag_gott500"]` | 4.204 ms (5%) | | 5.19 MiB (1%) | 34521 | | `["stabilizer", "canon", "diag_rref500"]` | 655.526 μs (5%) | | | | | `["stabilizer", "canon", "gott500"]` | 6.686 ms (5%) | | 5.19 MiB (1%) | 34531 | | `["stabilizer", "canon", "md_cano500"]` | 1.558 ms (5%) | | | | | `["stabilizer", "canon", "md_rref500"]` | 1.590 ms (5%) | | | | | `["stabilizer", "canon", "rref500"]` | 3.137 ms (5%) | | | | | `["stabilizer", "project", "destabilizer"]` | 17.943 μs (5%) | | 288 bytes (1%) | 5 | | `["stabilizer", "project", "stabilizer"]` | 8.567 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "tensor", "diag_pow5_20"]` | 1.143 ms (5%) | | 23.97 MiB (1%) | 34 | | `["stabilizer", "tensor", "pow5_20"]` | 2.517 μs (5%) | | 6.44 KiB (1%) | 31 | | `["stabilizer", "trace", "destabilizer"]` | 31.188 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "trace", "stabilizer"]` | 24.315 μs (5%) | | 112 bytes (1%) | 3 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 4375 s 0 s 236 s 8680 s 0 s #2 0 MHz 4688 s 0 s 217 s 8384 s 0 s #3 0 MHz 2565 s 0 s 217 s 10500 s 0 s #4 0 MHz 2112 s 0 s 236 s 10922 s 0 s Memory: 15.606498718261719 GB (13299.37109375 MB free) Uptime: 1333.7 sec Load Avg: 1.0 1.02 0.86 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Runtime information | Runtime Info | | |:--|:--| | BLAS #threads | 2 | | `BLAS.vendor()` | `lbt` | | `Sys.CPU_THREADS` | 4 | `lscpu` output: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 48 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: AuthenticAMD Model name: AMD EPYC 7763 64-Core Processor CPU family: 25 Model: 1 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 Stepping: 1 BogoMIPS: 4890.87 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm Virtualization: AMD-V Hypervisor vendor: Microsoft Virtualization type: full L1d cache: 64 KiB (2 instances) L1i cache: 64 KiB (2 instances) L2 cache: 1 MiB (2 instances) L3 cache: 32 MiB (1 instance) NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerability Gather data sampling: Not affected Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Mmio stale data: Not affected Vulnerability Retbleed: Not affected Vulnerability Spec rstack overflow: Vulnerable: Safe RET, no microcode Vulnerability Spec store bypass: Vulnerable Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Vulnerability Srbds: Not affected Vulnerability Tsx async abort: Not affected | Cpu Property | Value | |:------------------ |:---------------------------------------------------------- | | Brand | AMD EPYC 7763 64-Core Processor | | Vendor | :AMD | | Architecture | :Unknown | | Model | Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00 | | Cores | 16 physical cores, 16 logical cores (on executing CPU) | | | No Hyperthreading hardware capability detected | | Clock Frequencies | Not supported by CPU | | Data Cache | Level 1:3 : (32, 512, 32768) kbytes | | | 64 byte cache line size | | Address Size | 48 bits virtual, 48 bits physical | | SIMD | 256 bit = 32 byte max. SIMD vector size | | Time Stamp Counter | TSC is accessible via `rdtsc` | | | TSC runs at constant rate (invariant from clock frequency) | | Perf. Monitoring | Performance Monitoring Counters (PMC) are not supported | | Hypervisor | Yes, Microsoft |
Benchmark Result # Judge result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmarks: - Target: 16 May 2024 - 15:39 - Baseline: 16 May 2024 - 15:46 * Package commits: - Target: b6c830 - Baseline: 44f618 * Julia commits: - Target: e7a1de - Baseline: e7a1de * Julia command flags: - Target: None - Baseline: None * Environment variables: - Target: None - Baseline: None ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds). | ID | time ratio | memory ratio | |--------------------------------------------------------------------|------------------------------|------------------------------| | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000"]` | 1.05 (5%) :x: | 1.00 (1%) | | `["clifford", "dense", "cnot250_on_diag500_stab"]` | 0.86 (5%) :white_check_mark: | 1.00 (1%) | | `["clifford", "dense", "dense500_on_diag500_stab"]` | 0.86 (5%) :white_check_mark: | 1.00 (1%) | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 0.93 (5%) :white_check_mark: | 0.98 (1%) :white_check_mark: | | `["ecc", "evaluate_decoder", "toric8_bp_comm"]` | 1.02 (5%) | 0.99 (1%) :white_check_mark: | | `["stabilizer", "canon", "diag_rref500"]` | 1.12 (5%) :x: | 1.00 (1%) | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ### Target ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 1641 s 0 s 157 s 7020 s 0 s #2 0 MHz 2274 s 0 s 171 s 6363 s 0 s #3 0 MHz 2791 s 0 s 149 s 5882 s 0 s #4 0 MHz 2516 s 0 s 189 s 6121 s 0 s Memory: 15.606502532958984 GB (13310.5546875 MB free) Uptime: 886.27 sec Load Avg: 1.0 1.02 0.74 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` ### Baseline ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 2519 s 0 s 210 s 10480 s 0 s #2 0 MHz 2602 s 0 s 223 s 10375 s 0 s #3 0 MHz 4450 s 0 s 196 s 8571 s 0 s #4 0 MHz 4065 s 0 s 245 s 8911 s 0 s Memory: 15.606502532958984 GB (13313.25390625 MB free) Uptime: 1326.35 sec Load Avg: 1.03 1.05 0.89 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Target result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmark: 16 May 2024 - 15:39 * Package commit: b6c830 * Julia commit: e7a1de * Julia command flags: None * Environment variables: None ## Results Below is a table of this job's results, obtained by running the benchmarks. The values listed in the `ID` column have the structure `[parent_group, child_group, ..., key]`, and can be used to index into the BaseBenchmarks suite to retrieve the corresponding benchmarks. The percentages accompanying time and memory values in the below table are noise tolerances. The "true" time/memory value for a given benchmark is expected to fall within this percentage of the reported value. An empty cell means that the value was zero. | ID | time | GC time | memory | allocations | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["circuitsim", "compactification", "compact"]` | 6.933 ms (5%) | | | | | `["circuitsim", "compactification", "no_compact"]` | 7.119 ms (5%) | | 281.25 KiB (1%) | 6000 | | `["circuitsim", "mctrajectories", "q1001_r1"]` | 15.428 ms (5%) | | 500.77 KiB (1%) | 18019 | | `["circuitsim", "mctrajectories", "q101_r1"]` | 174.656 μs (5%) | | 50.53 KiB (1%) | 1818 | | `["circuitsim", "mctrajectories_sumtype", "q1001_r1"]` | 13.465 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_sumtype", "q101_r1"]` | 121.618 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "mctrajectories_union", "q1001_r1"]` | 13.170 ms (5%) | | 496 bytes (1%) | 9 | | `["circuitsim", "mctrajectories_union", "q101_r1"]` | 119.554 μs (5%) | | 256 bytes (1%) | 8 | | `["circuitsim", "pftrajectories", "q1001_r1"]` | 59.120 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r100"]` | 175.839 μs (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q1001_r10000"]` | 1.142 ms (5%) | | 93.80 KiB (1%) | 2001 | | `["circuitsim", "pftrajectories", "q101_r1"]` | 5.971 μs (5%) | | 9.42 KiB (1%) | 201 | | `["circuitsim", "pftrajectories_sumtype", "q1001_r1"]` | 42.750 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r100"]` | 154.058 μs (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000"]` | 1.132 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q1001_r10000_fastrow"]` | 5.855 ms (5%) | | | | | `["circuitsim", "pftrajectories_sumtype", "q101_r1"]` | 4.297 μs (5%) | | | | | `["circuitsim", "pftrajectories_union", "q1001_r1"]` | 22.322 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r100"]` | 136.235 μs (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q1001_r10000"]` | 1.100 ms (5%) | | 96 bytes (1%) | 2 | | `["circuitsim", "pftrajectories_union", "q101_r1"]` | 2.314 μs (5%) | | 96 bytes (1%) | 2 | | `["clifford", "dense", "cnot250_on_dense500_destab"]` | 11.423 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_dense500_stab"]` | 5.744 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_destab"]` | 1.119 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot250_on_diag500_stab"]` | 483.214 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "cnot_on_dense500_destab"]` | 49.682 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_dense500_stab"]` | 23.735 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_destab"]` | 25.447 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "cnot_on_diag500_stab"]` | 13.105 μs (5%) | | 368 bytes (1%) | 10 | | `["clifford", "dense", "dense500_on_dense500_destab"]` | 11.423 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_dense500_stab"]` | 5.747 ms (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_destab"]` | 966.765 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "dense", "dense500_on_diag500_stab"]` | 483.214 μs (5%) | | 512 bytes (1%) | 8 | | `["clifford", "symbolic", "cnot250_on_dense500_destab"]` | 1.474 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_dense500_stab"]` | 701.993 μs (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_destab"]` | 1.197 ms (5%) | | | | | `["clifford", "symbolic", "cnot250_on_diag500_stab"]` | 584.022 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_destab"]` | 4.849 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_dense500_stab"]` | 2.364 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_destab"]` | 4.799 μs (5%) | | | | | `["clifford", "symbolic", "cnot_on_diag500_stab"]` | 2.364 μs (5%) | | | | | `["ecc", "evaluate_decoder", "shor_bp_comm"]` | 1.803 ms (5%) | | 1.77 MiB (1%) | 42597 | | `["ecc", "evaluate_decoder", "shor_bp_naivesyn"]` | 4.318 ms (5%) | | 3.63 MiB (1%) | 82013 | | `["ecc", "evaluate_decoder", "shor_bp_shorsyn"]` | 4.730 ms (5%) | | 3.72 MiB (1%) | 83053 | | `["ecc", "evaluate_decoder", "shor_pybp_comm"]` | 25.469 ms (5%) | | 3.97 MiB (1%) | 116084 | | `["ecc", "evaluate_decoder", "shor_pybp_naivesyn"]` | 51.740 ms (5%) | | 7.99 MiB (1%) | 228133 | | `["ecc", "evaluate_decoder", "shor_pybp_shorsyn"]` | 52.190 ms (5%) | | 8.07 MiB (1%) | 229131 | | `["ecc", "evaluate_decoder", "shor_table_comm"]` | 256.530 μs (5%) | | 241.48 KiB (1%) | 4595 | | `["ecc", "evaluate_decoder", "shor_table_naivesyn"]` | 1.090 ms (5%) | | 350.88 KiB (1%) | 5155 | | `["ecc", "evaluate_decoder", "shor_table_shorsyn"]` | 1.514 ms (5%) | | 440.22 KiB (1%) | 6153 | | `["ecc", "evaluate_decoder", "toric8_bp_comm"]` | 709.353 ms (5%) | 14.299 ms | 170.29 MiB (1%) | 1021312 | | `["ecc", "evaluate_decoder", "toric8_bp_naivesyn"]` | 1.405 s (5%) | 28.922 ms | 353.60 MiB (1%) | 2152206 | | `["ecc", "evaluate_decoder", "toric8_bp_shorsyn"]` | 1.419 s (5%) | 25.781 ms | 351.99 MiB (1%) | 2162098 | | `["ecc", "evaluate_decoder", "toric8_pybp_comm"]` | 397.493 ms (5%) | | 7.31 MiB (1%) | 135575 | | `["ecc", "evaluate_decoder", "toric8_pybp_naivesyn"]` | 809.862 ms (5%) | | 16.90 MiB (1%) | 317606 | | `["ecc", "evaluate_decoder", "toric8_pybp_shorsyn"]` | 819.363 ms (5%) | | 19.38 MiB (1%) | 351522 | | `["ecc", "evaluate_decoder", "toric8_pymatch_comm"]` | 4.225 ms (5%) | | 1.95 MiB (1%) | 23180 | | `["ecc", "evaluate_decoder", "toric8_pymatch_naivesyn"]` | 17.035 ms (5%) | | 6.03 MiB (1%) | 92823 | | `["ecc", "evaluate_decoder", "toric8_pymatch_shorsyn"]` | 26.123 ms (5%) | | 8.50 MiB (1%) | 126739 | | `["ecc", "evaluate_decoder", "toric8_table_comm"]` | 2.669 ms (5%) | | 1.64 MiB (1%) | 23086 | | `["ecc", "evaluate_decoder", "toric8_table_naivesyn"]` | 14.711 ms (5%) | | 5.38 MiB (1%) | 92628 | | `["ecc", "evaluate_decoder", "toric8_table_shorsyn"]` | 23.807 ms (5%) | | 7.86 MiB (1%) | 126544 | | `["pauli", "mul", "100"]` | 14.506 ns (5%) | | | | | `["pauli", "mul", "1000"]` | 18.820 ns (5%) | | | | | `["pauli", "mul", "100000"]` | 727.542 ns (5%) | | | | | `["pauli", "mul", "20000000"]` | 188.211 μs (5%) | | | | | `["stabilizer", "canon", "cano500"]` | 3.074 ms (5%) | | | | | `["stabilizer", "canon", "diag_cano500"]` | 636.992 μs (5%) | | | | | `["stabilizer", "canon", "diag_gott500"]` | 4.059 ms (5%) | | 5.19 MiB (1%) | 34521 | | `["stabilizer", "canon", "diag_rref500"]` | 731.921 μs (5%) | | | | | `["stabilizer", "canon", "gott500"]` | 6.496 ms (5%) | | 5.19 MiB (1%) | 34531 | | `["stabilizer", "canon", "md_cano500"]` | 1.558 ms (5%) | | | | | `["stabilizer", "canon", "md_rref500"]` | 1.589 ms (5%) | | | | | `["stabilizer", "canon", "rref500"]` | 3.143 ms (5%) | | | | | `["stabilizer", "project", "destabilizer"]` | 18.003 μs (5%) | | 288 bytes (1%) | 5 | | `["stabilizer", "project", "stabilizer"]` | 8.636 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "tensor", "diag_pow5_20"]` | 1.184 ms (5%) | | 23.97 MiB (1%) | 34 | | `["stabilizer", "tensor", "pow5_20"]` | 2.449 μs (5%) | | 6.44 KiB (1%) | 31 | | `["stabilizer", "trace", "destabilizer"]` | 31.038 μs (5%) | | 80 bytes (1%) | 2 | | `["stabilizer", "trace", "stabilizer"]` | 24.276 μs (5%) | | 112 bytes (1%) | 3 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["circuitsim", "compactification"]` - `["circuitsim", "mctrajectories"]` - `["circuitsim", "mctrajectories_sumtype"]` - `["circuitsim", "mctrajectories_union"]` - `["circuitsim", "pftrajectories"]` - `["circuitsim", "pftrajectories_sumtype"]` - `["circuitsim", "pftrajectories_union"]` - `["clifford", "dense"]` - `["clifford", "symbolic"]` - `["ecc", "evaluate_decoder"]` - `["pauli", "mul"]` - `["stabilizer", "canon"]` - `["stabilizer", "project"]` - `["stabilizer", "tensor"]` - `["stabilizer", "trace"]` ## Julia versioninfo ``` Julia Version 1.12.0-DEV.541 Commit e7a1def390f (2024-05-16 11:50 UTC) Build Info: Official https://julialang.org/ release Platform Info: OS: Linux (x86_64-linux-gnu) Ubuntu 22.04.4 LTS uname: Linux 6.5.0-1021-azure #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024 x86_64 x86_64 CPU: AMD EPYC 7763 64-Core Processor: speed user nice sys idle irq #1 0 MHz 1641 s 0 s 157 s 7020 s 0 s #2 0 MHz 2274 s 0 s 171 s 6363 s 0 s #3 0 MHz 2791 s 0 s 149 s 5882 s 0 s #4 0 MHz 2516 s 0 s 189 s 6121 s 0 s Memory: 15.606502532958984 GB (13310.5546875 MB free) Uptime: 886.27 sec Load Avg: 1.0 1.02 0.74 WORD_SIZE: 64 LLVM: libLLVM-17.0.6 (ORCJIT, znver3) Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores) ``` --- # Baseline result # Benchmark Report for */home/runner/work/QuantumClifford.jl/QuantumClifford.jl* ## Job Properties * Time of benchmark: 16 May 2024 - 15:46 * Package commit: 44f618 * Julia commit: e7a1de * Julia command flags: None * Environment variables: None ## Results Below is a table of this job's results, obtained by running the benchmarks. The value...*[Comment body truncated]*
codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 78.04878% with 9 lines in your changes are missing coverage. Please review.

Project coverage is 82.35%. Comparing base (44f618a) to head (a756520).

Files Patch % Lines
src/ecc/ECC.jl 62.50% 9 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #275 +/- ## ========================================== + Coverage 82.20% 82.35% +0.14% ========================================== Files 59 60 +1 Lines 3940 3972 +32 ========================================== + Hits 3239 3271 +32 Misses 701 701 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.