yesodweb / yesodweb/persistent
Unable to run Template Haskell benchmarks - Can't do `isExtEnabled` in the IO monad
Nobody has claimed this yet.
- Dominant language
- Haskell
- Stars
- 486
- Forks
- 306
- PR merge metrics
- No merged PRs in 30d
Description
I was having a look at the benchmarks for persistent-template in /bench, however when I run stack bench I get:
persistent-template > benchmarks
./persistent-template.cabal has been changed. Re-configuring with most
recently used options. If this fails, please run configure manually.
Configuring persistent-template-2.7.0...
Running 1 benchmarks...
Benchmark persistent-th-bench: RUNNING...
benchmarking mkPersist/From File
Template Haskell error: Can't do `isExtEnabled' in the IO monad
persistent-th-bench: user error (Template Haskell failure)
Benchmark persistent-th-bench: ERROR
Completed 6 action(s).
If I rollback to ccb6dcec then running the stack bench is fine, this was the last commit before the call to isExtEnabled was added.
Are these benchmarks meant to be runnable currently? I notice some of the older ones are commented out.
I'm be keen to do some of my own poking around in the persistent-template package in order to bring some of the TH build times down if possible, as I work on a Yesod/Persistent app, where the bulk of the build time is spent in TH generating entities.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the /bench directory and compare the benchmark setup at ccb6dcec with the current version, focusing on the added isExtEnabled call. Run stack bench to reproduce the Template Haskell failure. Done means the persistent-th-bench benchmark runs successfully and its existing measurements are produced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- performance, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100