Skip to content

Conversation

kdk
Copy link
Member

@kdk kdk commented Jul 17, 2020

Summary

Resolves #4668.

Details and comments

$ asv continuous --python 3.6 --no-only-changed --bench 'time_unroll|time_circuit_to_instruction' master 4668-Performance-regression-in-unolling-and-circuit_to_instruction
...
       before           after         ratio
     [80dcb846]       [2c43a177]
     <master>         <4668-Performance-regression-in-unrolling-and-circuit_to_instruction>
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(14, 8192)
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(20, 2048)
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(20, 8192)
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(32, 2048)
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(32, 8192)
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(53, 2048)
              n/a              n/a      n/a  converters.ConverterBenchmarks.time_circuit_to_instruction(53, 8192)
       4.11±0.07s        3.60±0.2s    ~0.88  passes.PassBenchmarks.time_unroll_3q_or_more(14, 1024)
        6.71±0.1s       5.81±0.05s    ~0.87  passes.PassBenchmarks.time_unroll_3q_or_more(20, 1024)
       1.02±0.03s         862±60ms    ~0.84  passes.PassBenchmarks.time_unroll_3q_or_more(5, 1024)
       6.97±0.07s       5.75±0.04s    ~0.83  passes.PassBenchmarks.time_unroller(14, 1024)
-      1.94±0.07s       1.60±0.08s     0.82  passes.PassBenchmarks.time_unroller(5, 1024)
          13.6±2s       9.08±0.07s    ~0.67  passes.PassBenchmarks.time_unroller(20, 1024)
-        300±10μs         175±30μs     0.58  converters.ConverterBenchmarks.time_circuit_to_instruction(1, 8)
-         173±6ms        94.7±10ms     0.55  converters.ConverterBenchmarks.time_circuit_to_instruction(1, 8192)
-        538±80μs         272±30μs     0.51  converters.ConverterBenchmarks.time_circuit_to_instruction(2, 8)
-      3.00±0.2ms       1.52±0.3ms     0.51  converters.ConverterBenchmarks.time_circuit_to_instruction(1, 128)
-      4.77±0.1ms       2.29±0.1ms     0.48  converters.ConverterBenchmarks.time_circuit_to_instruction(2, 128)
-        792±20ms         360±40ms     0.45  converters.ConverterBenchmarks.time_circuit_to_instruction(5, 8192)
-        203±20ms        92.0±20ms     0.45  converters.ConverterBenchmarks.time_circuit_to_instruction(5, 2048)
-        49.1±2ms       22.2±0.7ms     0.45  converters.ConverterBenchmarks.time_circuit_to_instruction(1, 2048)
-       85.0±20ms         37.3±3ms     0.44  converters.ConverterBenchmarks.time_circuit_to_instruction(2, 2048)
       1.38±0.01s         587±20ms    ~0.43  converters.ConverterBenchmarks.time_circuit_to_instruction(8, 8192)
-      1.71±0.1ms         719±60μs     0.42  converters.ConverterBenchmarks.time_circuit_to_instruction(8, 8)
-        352±20ms          142±5ms     0.40  converters.ConverterBenchmarks.time_circuit_to_instruction(2, 8192)
-        13.4±1ms       5.34±0.7ms     0.40  converters.ConverterBenchmarks.time_circuit_to_instruction(5, 128)
-      1.27±0.2ms         493±50μs     0.39  converters.ConverterBenchmarks.time_circuit_to_instruction(5, 8)
-      21.0±0.6ms       7.42±0.8ms     0.35  converters.ConverterBenchmarks.time_circuit_to_instruction(8, 128)
-        367±20ms          127±7ms     0.35  converters.ConverterBenchmarks.time_circuit_to_instruction(8, 2048)
-      6.04±0.2ms       1.77±0.3ms     0.29  converters.ConverterBenchmarks.time_circuit_to_instruction(20, 8)
-        45.5±3ms       13.0±0.8ms     0.29  converters.ConverterBenchmarks.time_circuit_to_instruction(14, 128)
-        719±30ms          198±6ms     0.28  converters.ConverterBenchmarks.time_circuit_to_instruction(14, 2048)
-       86.5±10ms         23.6±6ms     0.27  converters.ConverterBenchmarks.time_circuit_to_instruction(20, 128)
-      3.86±0.2ms         969±30μs     0.25  converters.ConverterBenchmarks.time_circuit_to_instruction(14, 8)
-      13.2±0.8ms         2.54±1ms     0.19  converters.ConverterBenchmarks.time_circuit_to_instruction(32, 8)
-         180±8ms         29.1±4ms     0.16  converters.ConverterBenchmarks.time_circuit_to_instruction(32, 128)
-        395±20ms         46.8±3ms     0.12  converters.ConverterBenchmarks.time_circuit_to_instruction(53, 128)
-        35.1±2ms       3.20±0.3ms     0.09  converters.ConverterBenchmarks.time_circuit_to_instruction(53, 8)

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

@kdk kdk added this to the 0.15 milestone Jul 17, 2020
@kdk kdk requested a review from a team as a code owner July 17, 2020 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance regression in unrolling and circuit_to_instruction
2 participants