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

improve performance for single-effect uses #98

Open
suhailshergill opened this issue Apr 20, 2018 · 4 comments
Open

improve performance for single-effect uses #98

suhailshergill opened this issue Apr 20, 2018 · 4 comments
Labels

Comments

@suhailshergill
Copy link
Owner

suhailshergill commented Apr 20, 2018

MTLs State is very fast and difficult to beat when it comes to single-effect uses. Can this be beaten? Similarly for non-determinism, ContT is difficult to beat.

@samuelpilz
Copy link
Contributor

moved: benchmark report

@suhailshergill suhailshergill changed the title improve performance for ndet and state effects improve performance for single-effect uses Jan 3, 2019
@suhailshergill
Copy link
Owner Author

potential solution:

use metaprogramming. specifically, make Union and Eff data families with special cases for single-effect and pure computations respectively. this would allow us to then use newtypes for these special cases as well as UNPACK for the rest.

would require some effort to test out.

@suhailshergill
Copy link
Owner Author

so, we tried using data families for Union, but didn't see a speedup.

perhaps if we also were able to convert Eff into a data family we may see results? unclear at present.

@greydot
Copy link
Collaborator

greydot commented Dec 29, 2019

There is now fused-effects package, which seems to be quite performant too. I will probably benchmark it against extensible-effects some time later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants