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 array slicing #1546

Merged
merged 8 commits into from
May 21, 2024

Conversation

cesarzc
Copy link
Contributor

@cesarzc cesarzc commented May 21, 2024

This change adds support to partial evaluation for array slicing in index expressions, copy expressions and copy & update expressions.

@cesarzc cesarzc mentioned this pull request May 21, 2024
64 tasks
Copy link

Benchmark for e6cfbba

Click to view benchmark
Test Base PR %
Array append evaluation 339.4±7.14µs 328.1±2.42µs -3.33%
Array literal evaluation 189.3±0.86µs 184.2±1.23µs -2.69%
Array update evaluation 413.7±7.51µs 407.0±2.03µs -1.62%
Core + Standard library compilation 18.8±0.21ms 18.9±0.58ms +0.53%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.1±0.06ms +2.00%
Large file parity evaluation 33.9±0.07ms 34.1±0.24ms +0.59%
Large input file compilation 12.5±0.14ms 12.8±0.31ms +2.40%
Large input file compilation (interpreter) 47.0±1.15ms 47.1±1.23ms +0.21%
Large nested iteration 32.6±0.15ms 32.5±0.43ms -0.31%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1564.4±70.48µs 1556.4±42.57µs -0.51%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.10ms 7.7±0.06ms -1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1416.0±29.91µs 1416.8±30.80µs +0.06%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.5±0.34ms 27.5±0.27ms 0.00%
Teleport evaluation 88.0±4.79µs 90.3±4.36µs +2.61%

compiler/qsc_partial_eval/src/lib.rs Outdated Show resolved Hide resolved
@cesarzc cesarzc enabled auto-merge May 21, 2024 01:32
Copy link

Benchmark for 76e1d5f

Click to view benchmark
Test Base PR %
Array append evaluation 333.9±1.57µs 329.2±6.83µs -1.41%
Array literal evaluation 189.8±2.89µs 185.1±5.53µs -2.48%
Array update evaluation 410.9±1.71µs 406.8±1.46µs -1.00%
Core + Standard library compilation 18.7±0.46ms 19.0±0.29ms +1.60%
Deutsch-Jozsa evaluation 5.0±0.05ms 5.2±0.05ms +4.00%
Large file parity evaluation 34.0±0.08ms 34.4±0.52ms +1.18%
Large input file compilation 12.6±0.48ms 12.5±0.36ms -0.79%
Large input file compilation (interpreter) 49.2±1.71ms 50.0±1.88ms +1.63%
Large nested iteration 32.8±0.50ms 32.6±0.66ms -0.61%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1562.5±42.29µs 1585.5±91.82µs +1.47%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.13ms 7.9±0.11ms +1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1425.4±39.56µs 1443.4±98.87µs +1.26%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 27.6±0.20ms 27.9±1.32ms +1.09%
Teleport evaluation 87.6±3.58µs 92.8±3.95µs +5.94%

@cesarzc cesarzc added this pull request to the merge queue May 21, 2024
Merged via the queue into main with commit 58a187a May 21, 2024
16 checks passed
@cesarzc cesarzc deleted the cesarzc/partial-eval-slicing branch May 21, 2024 02:37
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