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

Added a new smarter optimizer. #160

Merged
merged 14 commits into from
Sep 20, 2021
Merged

Added a new smarter optimizer. #160

merged 14 commits into from
Sep 20, 2021

Conversation

Idorobots
Copy link
Owner

@Idorobots Idorobots commented Jun 22, 2021

Refs #153

It's also way slower...

  • pmap different optimization runs to make this a bit faster. Futures block immediately, places won't allow sending the AST and threads are just as slow as sequential, since Racket doesn't support proper OS threads.
  • Tweak the estimate-perf to produce better code.
  • Add a third "complexity" measure so that it prefers less complex code.
  • Add a fourth "further optimization potential" measure.
  • Figure out how to treat self-recursive functions, so that we can optimize factorial away.
  • Run optimizations lazily and incrementally, so that there's no need to inline functions in a branch that is dead.

@Idorobots Idorobots merged commit ad8db1e into master Sep 20, 2021
@Idorobots Idorobots deleted the smart-optimizer branch September 20, 2021 11:45
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.

1 participant