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

More efficient if/else #992

Merged
merged 12 commits into from
Mar 29, 2024
Merged

More efficient if/else #992

merged 12 commits into from
Mar 29, 2024

Conversation

JonasWanke
Copy link
Member

@JonasWanke JonasWanke commented Mar 21, 2024

The benchmark CI only shows an improvement of 195M → 184M cycles for fibonacci 10, but a local run of fibonacci 22 shows an improvement of 616 ms → 357 ms.

Checklist

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

@JonasWanke JonasWanke added the T: Performance Type: Performance Improvements label Mar 21, 2024
@jwbot jwbot added P: Compiler: Frontend Package: The compiler frontend P: Compiler: VM Package: The VM executing Candy byte code (LIR) labels Mar 21, 2024
@jwbot
Copy link
Collaborator

jwbot commented Mar 21, 2024

🐰Bencher

ReportThu, March 28, 2024 at 22:37:23 UTC
ProjectCandy
Branchmore-efficient-if-else
TestbedGitHub Actions: Ubuntu 22.04
BenchmarkEstimated CyclesEstimated Cycles Results
estimated cycles
InstructionsInstructions Results
instructions
L1 AccessesL1 Accesses Results
accesses
L2 AccessesL2 Accesses Results
accesses
RAM AccessesRAM Accesses Results
accesses
Total AccessesTotal Accesses Results
total-accesses
compile: Examples/fibonacci.candy ➖ (view plot)1793437854.000➖ (view plot)1189208171.000➖ (view plot)1618958379.000➖ (view plot)10833738.000➖ (view plot)3437451.000➖ (view plot)1633229568.000
compile: Examples/helloWorld.candy ➖ (view plot)283943985.000➖ (view plot)176012403.000➖ (view plot)247818715.000➖ (view plot)1491403.000➖ (view plot)819093.000➖ (view plot)250129211.000
vm_runtime: Examples/fibonacci.candy 10➖ (view plot)183967904.000➖ (view plot)107457303.000➖ (view plot)151408169.000➖ (view plot)893019.000➖ (view plot)802704.000➖ (view plot)153103892.000
vm_runtime: Examples/helloWorld.candy ➖ (view plot)154536180.000➖ (view plot)88649482.000➖ (view plot)124975560.000➖ (view plot)700015.000➖ (view plot)744587.000➖ (view plot)126420162.000

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

@jwbot
Copy link
Collaborator

jwbot commented Mar 28, 2024

The golden IRs have changed: 25cd24b..9951dd4

@jwbot jwbot added the P: Compiler: CLI Package: Candy's command-line interface label Mar 28, 2024
@jwbot
Copy link
Collaborator

jwbot commented Mar 28, 2024

The golden IRs have changed: a705e60..1f1e1eb

@JonasWanke JonasWanke marked this pull request as ready for review March 28, 2024 23:03
@jwbot jwbot enabled auto-merge March 28, 2024 23:03
@jwbot jwbot merged commit 73df643 into main Mar 29, 2024
15 checks passed
@jwbot jwbot deleted the more-efficient-if-else branch March 29, 2024 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P: Compiler: CLI Package: Candy's command-line interface P: Compiler: Frontend Package: The compiler frontend P: Compiler: VM Package: The VM executing Candy byte code (LIR) T: Performance Type: Performance Improvements
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants