microsoft / qsharp

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

Partial evaluation support for hybrid Boolean operations with a dynamic LHS expression #1540

Closed cesarzc closed 1 month ago

cesarzc commented 1 month ago

This change implements partial evaluation support for hybrid Boolean operations with a dynamic LHS expression, including short-circuiting and optimization logic.

github-actions[bot] commented 1 month ago

Benchmark for 16e9ff4

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Array append evaluation | **330.3±2.49µs** | 334.4±2.13µs | **+1.24%** | | Array literal evaluation | 186.9±0.91µs | 187.6±2.96µs | +0.37% | | Array update evaluation | 412.8±20.10µs | 413.4±2.69µs | +0.15% | | Core + Standard library compilation | 21.1±0.74ms | 21.7±1.03ms | +2.84% | | Deutsch-Jozsa evaluation | 5.2±0.06ms | **5.0±0.06ms** | **-3.85%** | | Large file parity evaluation | 34.4±0.25ms | 34.3±0.12ms | -0.29% | | Large input file compilation | 13.7±0.66ms | 13.8±0.61ms | +0.73% | | Large input file compilation (interpreter) | 52.2±1.68ms | 51.9±1.56ms | -0.57% | | Large nested iteration | 32.9±0.40ms | 33.2±1.29ms | +0.91% | | Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample | **1569.0±42.60µs** | 1689.7±218.67µs | **+7.69%** | | Perform Runtime Capabilities Analysis (RCA) on large file sample | **7.9±0.14ms** | 8.5±0.14ms | **+7.59%** | | Perform Runtime Capabilities Analysis (RCA) on teleport sample | **1440.8±43.99µs** | 1540.2±187.05µs | **+6.90%** | | Perform Runtime Capabilities Analysis (RCA) on the core and std libraries | **28.1±0.32ms** | 28.6±0.37ms | **+1.78%** | | Teleport evaluation | 92.1±10.20µs | 89.9±5.38µs | -2.39% |
github-actions[bot] commented 1 month ago

Benchmark for cea5db9

Click to view benchmark | Test | Base | PR | % | |------|--------------|------------------|---| | Array append evaluation | 335.8±3.01µs | 335.8±5.71µs | 0.00% | | Array literal evaluation | 189.3±1.59µs | **186.6±3.74µs** | **-1.43%** | | Array update evaluation | 415.2±12.12µs | **412.8±2.30µs** | **-0.58%** | | Core + Standard library compilation | 18.6±0.56ms | 18.3±0.52ms | -1.61% | | Deutsch-Jozsa evaluation | 5.1±0.05ms | 5.1±0.06ms | 0.00% | | Large file parity evaluation | 34.2±0.25ms | 34.3±0.33ms | +0.29% | | Large input file compilation | 12.5±0.17ms | **12.3±0.29ms** | **-1.60%** | | Large input file compilation (interpreter) | 47.4±1.72ms | 49.1±2.34ms | +3.59% | | Large nested iteration | 32.9±0.19ms | 32.8±0.31ms | -0.30% | | Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample | 1560.4±73.83µs | 1614.6±133.49µs | +3.47% | | Perform Runtime Capabilities Analysis (RCA) on large file sample | 7.7±0.09ms | 7.7±0.10ms | 0.00% | | Perform Runtime Capabilities Analysis (RCA) on teleport sample | 1410.1±75.64µs | 1435.1±46.93µs | +1.77% | | Perform Runtime Capabilities Analysis (RCA) on the core and std libraries | 27.4±0.28ms | 27.4±0.63ms | 0.00% | | Teleport evaluation | 89.2±3.92µs | 91.6±5.85µs | +2.69% |