hledger/hledger-web/Hledger/Web
Simon Michael 00f22819ae balance report speedup
This refactoring fixes an O(n^2) slowdown in the balance command with
large numbers of accounts. It's now speedy, and the implementation is
clearer. To facilitate this, the Account type now represents a tree of
accounts which can easily be traversed up or down (and/or flattened
into a list).

Benchmark on a 2010 macbook:

    +-------------------------------------------++--------------+------------+--------+
    |                                           || before:      | after:     |        |
    |                                           || hledger-0.18 | hledgeropt | ledger |
    +===========================================++==============+============+========+
    | -f data/100x100x10.journal     balance    ||         0.21 |       0.07 |   0.09 |
    | -f data/1000x1000x10.journal   balance    ||        10.13 |       0.47 |   0.62 |
    | -f data/1000x10000x10.journal  balance    ||        40.67 |       0.67 |   1.01 |
    | -f data/10000x1000x10.journal  balance    ||        15.01 |       3.22 |   2.36 |
    | -f data/10000x1000x10.journal  balance aa ||         4.77 |       4.40 |   2.33 |
    +-------------------------------------------++--------------+------------+--------+
2012-10-21 17:18:18 +00:00
..
Settings web: update for yesod 1.0 2012-05-29 02:53:33 +00:00
Application.hs web: officially drop GHC 6.12 support, fix build warnings with 7.0, 7.2, 7.4 2012-03-29 23:24:48 +00:00
Foundation.hs web: update for yesod 1.0 2012-05-29 02:53:33 +00:00
Handlers.hs balance report speedup 2012-10-21 17:18:18 +00:00
Import.hs web: officially drop GHC 6.12 support, fix build warnings with 7.0, 7.2, 7.4 2012-03-29 23:24:48 +00:00
Options.hs set version with CPP instead of cabal-file-th; make building more robust 2012-10-13 19:21:17 +00:00
Settings.hs web: better hamlet override 2012-04-03 17:53:12 +00:00