diff options
author | Jasper Van der Jeugt <jaspervdj@gmail.com> | 2017-11-21 18:20:05 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-11-21 09:20:05 -0800 |
commit | 30c1e53c42b4829c6eac9ab55d66fac6411c2c71 (patch) | |
tree | dab64804040f8972644db57c0b66ada10e42d30b /src/Text/Pandoc/Readers/Odt/Generic/SetMap.hs | |
parent | 185918ea3d5ad759d7050e8ccb638734231e6762 (diff) | |
download | pandoc-30c1e53c42b4829c6eac9ab55d66fac6411c2c71.tar.gz |
Change JSON instances for Opt to TemplateHaskell (#4083)
The `Generic` JSON instances for `Text.Pandoc.App.Opt` seem to tickle a
particulary bad quadratic complexity case (Generics complexity is worse
than quadratic with respect to the number of fields in the datatype).
This is with GHC-8.2.1, I didn't test it using 8.0 but I assume it is
similar.
Using `Generic`, compilation of the `Text.Pandoc.App` module takes
minutes and often gets killed due to out of memory on slower machines
with "only" 8GB of accessible memory. This is particularly annoying to
me since it means I cannot build pandoc on Travis.
TemplateHaskell is a little uglier, but the module seems to compile
within a few seconds, and compilation doesn't take more than 1GB of
memory.
Should I also change the other JSON instances throughout the codebase
for consistency?
Diffstat (limited to 'src/Text/Pandoc/Readers/Odt/Generic/SetMap.hs')
0 files changed, 0 insertions, 0 deletions