microsoft / qsharp

Azure Quantum Development Kit, including the Q# programming language, resource estimator, and Quantum Katas
https://microsoft.github.io/qsharp/
MIT License
369 stars 73 forks source link

Fix RIR transform for large unrolled loops, chained stores across branches #1521

Closed swernli closed 1 month ago

swernli commented 1 month ago

This fixes two RIR transformation bugs:

github-actions[bot] commented 1 month ago

Benchmark for f96d017

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Array append evaluation | **344.6±7.42µs** | 364.4±29.57µs | **+5.75%** | | Array literal evaluation | 171.3±5.29µs | 173.6±4.46µs | +1.34% | | Array update evaluation | **428.8±3.19µs** | 449.8±16.26µs | **+4.90%** | | Core + Standard library compilation | 16.7±0.22ms | 16.7±0.10ms | 0.00% | | Deutsch-Jozsa evaluation | **5.0±0.03ms** | 5.1±0.06ms | **+2.00%** | | Large file parity evaluation | 33.7±0.36ms | 33.9±0.42ms | +0.59% | | Large input file compilation | 11.3±0.14ms | 11.3±0.09ms | 0.00% | | Large input file compilation (interpreter) | 43.5±1.17ms | 43.7±1.04ms | +0.46% | | Large nested iteration | **33.5±0.33ms** | 34.6±0.26ms | **+3.28%** | | Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample | 1549.0±27.70µs | 1548.0±37.21µs | -0.06% | | Perform Runtime Capabilities Analysis (RCA) on large file sample | 7.7±0.05ms | 7.7±0.08ms | 0.00% | | Perform Runtime Capabilities Analysis (RCA) on teleport sample | 1414.2±45.54µs | 1411.3±29.35µs | -0.21% | | Perform Runtime Capabilities Analysis (RCA) on the core and std libraries | 27.5±0.16ms | 27.6±0.42ms | +0.36% | | Teleport evaluation | 87.3±3.78µs | 88.8±3.51µs | +1.72% |
github-actions[bot] commented 1 month ago

Benchmark for 1bf3560

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Array append evaluation | **341.7±2.36µs** | 345.2±13.16µs | **+1.02%** | | Array literal evaluation | 170.5±1.40µs | 171.0±5.08µs | +0.29% | | Array update evaluation | **426.5±1.83µs** | 429.6±13.77µs | **+0.73%** | | Core + Standard library compilation | 19.4±1.13ms | **16.8±0.34ms** | **-13.40%** | | Deutsch-Jozsa evaluation | **5.0±0.05ms** | 5.1±0.06ms | **+2.00%** | | Large file parity evaluation | 33.9±0.11ms | 33.9±0.56ms | 0.00% | | Large input file compilation | 12.8±0.36ms | **12.0±0.47ms** | **-6.25%** | | Large input file compilation (interpreter) | 50.1±1.42ms | **45.2±2.05ms** | **-9.78%** | | Large nested iteration | 33.6±1.01ms | 33.5±0.96ms | -0.30% | | Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample | 1609.8±163.60µs | **1552.0±29.39µs** | **-3.59%** | | Perform Runtime Capabilities Analysis (RCA) on large file sample | 8.3±0.16ms | **7.8±0.21ms** | **-6.02%** | | Perform Runtime Capabilities Analysis (RCA) on teleport sample | 1468.0±149.13µs | **1418.0±42.19µs** | **-3.41%** | | Perform Runtime Capabilities Analysis (RCA) on the core and std libraries | 28.9±0.25ms | **27.8±0.30ms** | **-3.81%** | | Teleport evaluation | 87.6±4.27µs | 88.3±4.60µs | +0.80% |