Skip to content

Partial evaluation support for binary operations - #1499

Merged
cesarzc merged 19 commits into
mainfrom
cesarzc/partial-eval-bin-ops
May 13, 2024
Merged

Partial evaluation support for binary operations#1499
cesarzc merged 19 commits into
mainfrom
cesarzc/partial-eval-bin-ops

Conversation

@cesarzc

@cesarzc cesarzc commented May 9, 2024

Copy link
Copy Markdown
Contributor

This change implements support for binary operations and binary assign operations in partial evaluation.

@github-actions

github-actions Bot commented May 9, 2024

Copy link
Copy Markdown

Benchmark for 48373ca

Click to view benchmark
Test Base PR %
Array append evaluation 345.5±3.15µs 359.9±4.39µs +4.17%
Array literal evaluation 202.9±6.77µs 198.2±0.52µs -2.32%
Array update evaluation 428.6±2.68µs 441.5±1.64µs +3.01%
Core + Standard library compilation 16.7±0.08ms 16.9±0.52ms +1.20%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.0±0.07ms -1.96%
Large file parity evaluation 33.7±0.10ms 33.7±0.31ms 0.00%
Large input file compilation 11.2±0.08ms 11.5±0.43ms +2.68%
Large input file compilation (interpreter) 44.1±2.06ms 44.8±2.07ms +1.59%
Large nested iteration 33.7±0.14ms 35.4±0.76ms +5.04%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1551.2±35.37µs 1543.8±26.76µs -0.48%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.7±0.07ms 7.7±0.07ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1416.6±37.75µs 1423.7±53.54µs +0.50%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.5±0.95ms 27.3±0.73ms -0.73%
Teleport evaluation 88.7±4.37µs 87.8±3.46µs -1.01%

@cesarzc cesarzc mentioned this pull request May 9, 2024
64 tasks
@cesarzc
cesarzc marked this pull request as ready for review May 9, 2024 17:30
@cesarzc
cesarzc requested review from idavis and swernli as code owners May 9, 2024 17:30
@github-actions

github-actions Bot commented May 9, 2024

Copy link
Copy Markdown

Benchmark for 1a0cf28

Click to view benchmark
Test Base PR %
Array append evaluation 348.2±5.45µs 392.1±11.53µs +12.61%
Array literal evaluation 199.4±2.64µs 199.8±5.81µs +0.20%
Array update evaluation 430.4±4.29µs 552.9±4.72µs +28.46%
Core + Standard library compilation 20.1±0.77ms 16.8±0.14ms -16.42%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.3±0.17ms +3.92%
Large file parity evaluation 33.8±0.52ms 34.0±1.13ms +0.59%
Large input file compilation 12.9±0.68ms 11.8±0.80ms -8.53%
Large input file compilation (interpreter) 48.1±1.68ms 46.7±2.35ms -2.91%
Large nested iteration 34.0±0.10ms 38.1±0.73ms +12.06%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1564.8±78.11µs 1545.4±35.98µs -1.24%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.9±0.23ms 7.7±0.07ms -2.53%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1463.1±141.89µs 1425.7±57.85µs -2.56%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 28.3±0.74ms 27.2±0.59ms -3.89%
Teleport evaluation 87.8±3.93µs 91.7±3.39µs +4.44%

@github-actions

Copy link
Copy Markdown

Benchmark for e4870f9

Click to view benchmark
Test Base PR %
Array append evaluation 342.0±4.33µs 341.4±4.47µs -0.18%
Array literal evaluation 187.0±7.23µs 181.1±1.23µs -3.16%
Array update evaluation 423.6±2.34µs 421.4±1.95µs -0.52%
Core + Standard library compilation 17.6±0.63ms 17.6±1.08ms 0.00%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.1±0.20ms 0.00%
Large file parity evaluation 34.0±0.11ms 33.7±0.13ms -0.88%
Large input file compilation 11.8±0.28ms 13.0±0.51ms +10.17%
Large input file compilation (interpreter) 46.6±1.40ms 47.9±1.58ms +2.79%
Large nested iteration 33.3±0.24ms 33.4±0.26ms +0.30%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1562.5±91.54µs 1559.3±81.74µs -0.20%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.43ms 7.8±0.10ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1449.3±119.94µs 1425.4±74.74µs -1.65%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.8±0.50ms 27.4±0.28ms -1.44%
Teleport evaluation 89.6±3.80µs 87.1±3.69µs -2.79%

Comment thread compiler/qsc_partial_eval/src/lib.rs Outdated
Comment thread compiler/qsc_partial_eval/src/lib.rs Outdated
Comment thread compiler/qsc_partial_eval/tests/operators.rs Outdated
Comment thread compiler/qsc_partial_eval/tests/operators.rs
Comment thread compiler/qsc_partial_eval/src/lib.rs

@swernli swernli left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good so far!

@github-actions

Copy link
Copy Markdown

Benchmark for 5ee6840

Click to view benchmark
Test Base PR %
Array append evaluation 341.2±3.24µs 344.8±2.64µs +1.06%
Array literal evaluation 182.7±1.48µs 198.7±1.24µs +8.76%
Array update evaluation 424.8±2.65µs 427.7±8.03µs +0.68%
Core + Standard library compilation 17.7±1.46ms 18.9±1.38ms +6.78%
Deutsch-Jozsa evaluation 5.1±0.05ms 5.1±0.10ms 0.00%
Large file parity evaluation 33.8±0.63ms 33.9±1.27ms +0.30%
Large input file compilation 12.5±0.81ms 12.8±0.25ms +2.40%
Large input file compilation (interpreter) 46.7±2.51ms 48.2±1.21ms +3.21%
Large nested iteration 33.3±0.19ms 33.6±1.07ms +0.90%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1585.8±148.63µs 1561.5±111.14µs -1.53%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.1±0.54ms 7.6±0.06ms -6.17%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1421.9±43.15µs 1449.9±125.22µs +1.97%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 28.4±0.80ms 28.1±1.30ms -1.06%
Teleport evaluation 88.9±3.59µs 87.2±3.44µs -1.91%

@cesarzc
cesarzc requested a review from minestarks as a code owner May 13, 2024 06:45
@github-actions

Copy link
Copy Markdown

Benchmark for 9bcbc11

Click to view benchmark
Test Base PR %
Array append evaluation 344.2±2.97µs 340.9±1.38µs -0.96%
Array literal evaluation 205.1±4.08µs 180.6±2.45µs -11.95%
Array update evaluation 428.3±4.00µs 421.7±1.52µs -1.54%
Core + Standard library compilation 17.4±0.43ms 16.8±0.21ms -3.45%
Deutsch-Jozsa evaluation 5.1±0.05ms 5.1±0.15ms 0.00%
Large file parity evaluation 33.6±0.12ms 33.8±0.48ms +0.60%
Large input file compilation 11.8±0.43ms 11.2±0.21ms -5.08%
Large input file compilation (interpreter) 43.4±1.21ms 43.2±1.15ms -0.46%
Large nested iteration 34.1±2.10ms 33.4±1.50ms -2.05%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1548.6±48.02µs 1541.1±41.83µs -0.48%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.6±0.08ms 7.6±0.10ms 0.00%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1411.2±41.14µs 1413.7±30.51µs +0.18%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.0±0.20ms 27.2±0.28ms +0.74%
Teleport evaluation 88.2±3.39µs 87.3±3.77µs -1.02%

Comment thread compiler/qsc_partial_eval/tests/misc.rs Outdated
@cesarzc
cesarzc enabled auto-merge May 13, 2024 17:42
@github-actions

Copy link
Copy Markdown

Benchmark for ca3692b

Click to view benchmark
Test Base PR %
Array append evaluation 353.9±1.78µs 343.0±3.03µs -3.08%
Array literal evaluation 198.6±1.12µs 198.5±1.51µs -0.05%
Array update evaluation 436.7±3.55µs 424.2±1.95µs -2.86%
Core + Standard library compilation 17.5±0.87ms 17.8±1.01ms +1.71%
Deutsch-Jozsa evaluation 5.1±0.06ms 5.1±0.06ms 0.00%
Large file parity evaluation 34.2±0.28ms 34.0±0.33ms -0.58%
Large input file compilation 12.4±0.82ms 12.0±0.59ms -3.23%
Large input file compilation (interpreter) 47.8±3.06ms 51.3±5.21ms +7.32%
Large nested iteration 34.5±0.19ms 33.7±0.41ms -2.32%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1549.5±45.12µs 1552.7±55.74µs +0.21%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.15ms 7.7±0.17ms -1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1422.6±61.28µs 1429.8±84.74µs +0.51%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.3±0.31ms 27.8±1.21ms +1.83%
Teleport evaluation 90.4±3.46µs 89.5±3.62µs -1.00%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants