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 loop unrolling #1378

Merged
merged 13 commits into from
Apr 12, 2024
Merged

Conversation

cesarzc
Copy link
Contributor

@cesarzc cesarzc commented Apr 12, 2024

This change implements support for loop unrolling in partial evaluation.

Copy link

Benchmark for dc4b19f

Click to view benchmark
Test Base PR %
Array append evaluation 351.3±13.57µs 332.8±2.79µs -5.27%
Array literal evaluation 189.2±0.77µs 170.8±2.34µs -9.73%
Array update evaluation 431.4±14.30µs 414.9±12.84µs -3.82%
Core + Standard library compilation 18.2±0.69ms 20.1±1.63ms +10.44%
Deutsch-Jozsa evaluation 5.1±0.04ms 5.1±0.06ms 0.00%
Large file parity evaluation 33.7±0.71ms 33.9±0.51ms +0.59%
Large input file compilation 11.8±0.23ms 12.2±0.59ms +3.39%
Large input file compilation (interpreter) 48.9±1.08ms 52.3±1.78ms +6.95%
Large nested iteration 33.9±0.35ms 32.9±0.69ms -2.95%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1502.7±60.89µs 1505.5±93.78µs +0.19%
Perform Runtime Capabilities Analysis (RCA) on large file sample 8.1±0.15ms 7.8±0.38ms -3.70%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1412.8±37.96µs 1408.3±48.21µs -0.32%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.3±0.81ms 21.4±0.30ms +0.47%
Teleport evaluation 81.9±6.95µs 83.2±6.88µs +1.59%

Copy link

Benchmark for 10a2a7b

Click to view benchmark
Test Base PR %
Array append evaluation 333.4±2.80µs 330.1±2.76µs -0.99%
Array literal evaluation 171.7±4.03µs 171.0±2.40µs -0.41%
Array update evaluation 412.6±1.95µs 411.5±2.88µs -0.27%
Core + Standard library compilation 17.4±0.67ms 17.3±0.46ms -0.57%
Deutsch-Jozsa evaluation 5.1±0.06ms 5.1±0.10ms 0.00%
Large file parity evaluation 33.7±0.11ms 33.5±0.10ms -0.59%
Large input file compilation 11.5±0.23ms 11.8±0.36ms +2.61%
Large input file compilation (interpreter) 45.3±1.39ms 45.5±1.58ms +0.44%
Large nested iteration 32.6±0.46ms 32.4±0.59ms -0.61%
Perform Runtime Capabilities Analysis (RCA) on Deutsch-Jozsa sample 1493.7±47.02µs 1496.0±30.78µs +0.15%
Perform Runtime Capabilities Analysis (RCA) on large file sample 7.8±0.18ms 7.7±0.09ms -1.28%
Perform Runtime Capabilities Analysis (RCA) on teleport sample 1404.9±38.29µs 1405.1±38.07µs +0.01%
Perform Runtime Capabilities Analysis (RCA) on the core and std libraries 21.3±0.47ms 21.2±0.44ms -0.47%
Teleport evaluation 81.5±7.96µs 83.1±6.55µs +1.96%

@cesarzc cesarzc enabled auto-merge April 12, 2024 21:01
@cesarzc cesarzc added this pull request to the merge queue Apr 12, 2024
Merged via the queue into main with commit 0b8e919 Apr 12, 2024
17 checks passed
@cesarzc cesarzc deleted the cesarzc/loop-unrolling branch April 12, 2024 21:36
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