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

Poorly optimized code #460

Open
justinethier opened this issue Jun 4, 2021 · 1 comment
Open

Poorly optimized code #460

justinethier opened this issue Jun 4, 2021 · 1 comment

Comments

@justinethier
Copy link
Owner

justinethier commented Jun 4, 2021

Cyclone is much slower than chicken 5 on the following benchmarks:

  • array1
  • chudnovsky (bignums)
  • compiler
  • conform
  • destruc
  • gcbench
  • graphs
  • lattice
  • pi (bignums)
  • quicksort (suspect poorly optimized mutable operations)
  • simplex (was there a beta expansion issue here, too?)

I suspect a lot of this is due to how cyclone poorly optimizes code using mutable operations. If that is the case it may be necessary to rewrite portions of the optimizer or take a deep look to figure out what can be done. For now the first step is to verify and update above accordingly.

This is related to issue #344

@justinethier
Copy link
Owner Author

In particular, performance on array1 and destruc is abysmal. I think a large part of the problem is our optimizer is extremely conservative when it comes to mutations (EG: vector-set!) and prevents most of the opportunities to optimize such code.

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

No branches or pull requests

1 participant