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

Optimize basic fexpr functions #15

Open
fredrik-johansson opened this issue Feb 2, 2021 · 1 comment
Open

Optimize basic fexpr functions #15

fredrik-johansson opened this issue Feb 2, 2021 · 1 comment

Comments

@fredrik-johansson
Copy link
Collaborator

  • Basic traversal functions should be implemented iteratively rather than recursively so that deeply nested expressions don't risk causing stack overflow
  • Transformations such as replace could be implemented in a streaming style to avoid recursive copies
  • Efficient in-place aliased operations
  • Avoid temporaries in big integer operations
  • Other todos in the code
@fredrik-johansson
Copy link
Collaborator Author

Also investigate savings in the data representation. For example, calls with many arguments currently build an index. This allows O(1) random access, but increases space and notably prevents gradually appending arguments to an existing function call (since the index has to be expanded periodically).

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