You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Performance is pretty terrible currently but can definitely be improved. Things to look at:
are lazy types used in all places where they could/should be? Some things may not be needed ever, e.g. if they are not used in templates (specifically thinking about bytestrings)
does the code generate any crazy hunks
are any unnecessary code paths being traversed all the time
getCommits can be improved
detect file changes in diffs for new commits and only re-render those files
fixupLists and the diff list logic could probably be improved too
gotta profile
The text was updated successfully, but these errors were encountered:
I played around with some different sinks into which ginger rendered data to see what differences are observed. Here are the rough results. The numbers are the seconds it took to render gitserve's and qtile's data using the docs template.
IORef: 63 63 64 63 65 63
Writer Text: 94 95 152 161
Writer TB.Builder: 146 132 132 143
State TB.Builder (modify): 81 83
State TB.Builder (modify'): 83 79
Writer [Text]: 189
Writer (DList Text): 121 122 122
Writer Html with runReader: 106 100
Pretty interesting. IORef wins out of them all, so unfortunately no obvious improvement to be gained by playing with that.
Performance is pretty terrible currently but can definitely be improved. Things to look at:
getCommits
can be improvedfixupLists
and the diff list logic could probably be improved toogotta profile
The text was updated successfully, but these errors were encountered: