yesodweb / yesodweb/persistent

persistent-template performance mega issue

Open
#940 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
486
Forks
306
PR merge metrics
No merged PRs in 30d

Description

This is a "mega issue" that mostly tracks and aggregates performance stuff on the persistent-template stuff.

I just "benchmarked" how long it's taking on the work codebase:

lumi-postgres     > Starting persistFileWith: 2019-08-06 17:29:28.871258902 UTC
lumi-postgres     > Ending persistFileWith: 2019-08-06 17:29:28.9176557 UTC
lumi-postgres     > Elapased persistFileWith: 0.046396798s
lumi-postgres     > Starting share: 2019-08-06 17:29:31.179328549 UTC
lumi-postgres     > Ending share: 2019-08-06 17:29:31.779841875 UTC
lumi-postgres     > Elapased share: 0.600513326s

The actual Template Haskell bits are taking ~0.75s to run. This is a 1,200 line models file. Actually compiling the resulting code takes forever.

Specific Problems:

  • #924

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the persistent-template code and the related issue #924. Review the reported persistFileWith and share timings, then measure Template Haskell execution and compilation for the 1,200-line models file. Done means identifying and addressing the specific performance bottlenecks tracked by this mega issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
build-system, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.