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

Update generics machinery to fully optimize #14

Merged
merged 7 commits into from Jun 12, 2018

Conversation

@tvh
Copy link
Member

commented Jun 11, 2018

Now the generics-version supasses the template-haskell version. That means the template-haskell-veriosn should probably be fixed as well.

@tvh tvh requested a review from skogsbaer Jun 11, 2018

tvh added some commits Jun 12, 2018

@tvh tvh force-pushed the tvh/inspection-testing branch from 20c7642 to d6084d9 Jun 12, 2018

@skogsbaer

This comment has been minimized.

Copy link
Contributor

commented Jun 12, 2018

@tvh What do you mean by "the generics-version supasses the template-haskell version"? How did you measure it? Benchmarks?

@tvh

This comment has been minimized.

Copy link
Member Author

commented Jun 12, 2018

@skogsbaer I did some inspection and the code looks a lot more bloaty. I haven't looked into what happens there, but the generated code is far from optimal.

@tvh

This comment has been minimized.

Copy link
Member Author

commented Jun 12, 2018

Ideally you would want an Obligation that they are identical. I think we can get there but for now the generic version produces leaner code.

Remove proxy from `GenericLargeHashableSum`
This doesn't actually help
@skogsbaer

This comment has been minimized.

Copy link
Contributor

commented Jun 12, 2018

@tvh If the generic version covers all use cases of the TH stuff, then I'm fine throwing out the TH code.

@loisch

This comment has been minimized.

Copy link
Member

commented Jun 12, 2018

I wouldn't care how the code looks. Loop unrolling doesn't look nice either. I would only care about (realistic) benchmarks.

tvh added some commits Jun 12, 2018

Fix generics for GHC 8.2
Int is somehow special for GHC...

@tvh tvh merged commit 41a8d3f into master Jun 12, 2018

@tvh tvh deleted the tvh/inspection-testing branch Jun 12, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.