hledger/hledger-lib/Hledger/Data
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
..
Account.hs balance report speedup 2012-10-21 17:18:18 +00:00
AccountName.hs balance report speedup 2012-10-21 17:18:18 +00:00
Amount.hs fix haddock complaints 2012-05-27 18:20:18 +00:00
Commodity.hs imports, api cleanup 2011-05-28 04:11:44 +00:00
Dates.hs more date utilities 2012-05-19 02:56:26 +00:00
FormatStrings.hs Hledger.Cli.Format -> Hledger.Data.FormatStrings 2012-03-10 19:20:15 +00:00
Journal.hs balance report speedup 2012-10-21 17:18:18 +00:00
Ledger.hs balance report speedup 2012-10-21 17:18:18 +00:00
Posting.hs new query by tag implementation 2012-05-28 00:27:55 +00:00
TimeLog.hs rename metadata fields to tags 2012-05-27 22:59:06 +00:00
Transaction.hs rename metadata fields to tags 2012-05-27 22:59:06 +00:00
Types.hs balance report speedup 2012-10-21 17:18:18 +00:00