Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partial evaluation support for binary operations #1499

Merged
merged 19 commits into from May 13, 2024

Conversation

cesarzc
Copy link
Contributor

@cesarzc cesarzc commented May 9, 2024

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

Copy link

github-actions bot commented May 9, 2024

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
Copy link

github-actions bot commented May 9, 2024

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%

Copy link

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%

Copy link
Collaborator

@swernli swernli left a comment

Choose a reason for hiding this comment

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

Looking good so far!

Copy link

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
Copy link

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%

@cesarzc cesarzc enabled auto-merge May 13, 2024 17:42
Copy link

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%

@cesarzc cesarzc added this pull request to the merge queue May 13, 2024
Merged via the queue into main with commit b01fe50 May 13, 2024
16 checks passed
@cesarzc cesarzc deleted the cesarzc/partial-eval-bin-ops branch May 13, 2024 18:42
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.

None yet

2 participants