Commit Graph

25 Commits

Author SHA1 Message Date
Simon Michael
b22cb66319 refactor amount filtering helpers 2014-05-23 13:10:36 -07:00
Simon Michael
2844333857 less debug output from some low-level functions 2014-04-03 18:49:57 -07:00
Simon Michael
46d594bada balance, register now filter more strongly by sym: 2014-02-27 17:47:47 -08:00
Simon Michael
4567e91409 refactor: move amount display settings out of commodity, simplify amount construction 2012-11-19 21:20:10 +00:00
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
Simon Michael
294a350993 promote Hledger.Query to second level 2012-05-16 07:57:10 +00:00
Simon Michael
3ee6a351f3 big query/tests/show refactoring
- use new query system for command line too, filterspec is no more
- move unit tests near the code they test, run them in bottom up order, add more
- more precise Show instances, used for debugging not ui
2012-05-27 18:14:20 +00:00
Simon Michael
88212f26e8 simplify journal parser names 2012-05-09 15:34:05 +00:00
Simon Michael
c010448935 drop little-used clashing Ledger accessors 2012-05-09 15:33:16 +00:00
Simon Michael
e1b1b8bce8 rename Matcher to Query, simplify constructors 2012-05-16 07:12:49 +00:00
Simon Michael
a27eb7c29f more matcher -> query renaming 2012-05-16 07:37:24 +00:00
Simon Michael
43d78398bb Hledger.Data.Matching -> Hledger.Data.Query 2012-05-16 06:50:08 +00:00
Simon Michael
77ca58269a misc helpers 2011-08-07 15:31:36 +00:00
Simon Michael
8d0b42e1d5 web: an "a" parameter specifies a query expression for filtering the accounts sidebar
Useful for ui experiments, at least
2011-06-28 22:34:45 +00:00
Simon Michael
5084280879 imports, api cleanup 2011-05-28 04:11:44 +00:00
Simon Michael
dd9e78a67a reorganize tests 2010-12-27 20:26:22 +00:00
Simon Michael
7d7159609b refactor: much renaming of ledger -> journal, hopefully the right amount 2010-07-13 06:30:06 +00:00
Simon Michael
bf5ee88a30 refactor: clarify the roles of Journal (primary data) and Ledger (derived report) 2010-05-23 17:41:25 +00:00
Simon Michael
70576e87d1 refactor: move post-parse processing into parseJournal 2010-05-22 23:35:34 +00:00
Simon Michael
10c0a9a958 refactor: take an axe to canonicaliseAmounts 2010-05-22 20:23:36 +00:00
Simon Michael
11d354d426 refactor: renames and cleanups 2010-05-22 22:05:12 +00:00
Simon Michael
a3e5e7ce93 refactor: more ledger cleanup 2010-05-22 19:01:11 +00:00
Simon Michael
5982460782 refactor: clarify ledger construction a bit 2010-05-22 16:14:30 +00:00
Simon Michael
557746da5e remove redundant imports revealed by ghc 6.12 2010-05-22 15:33:51 +00:00
Simon Michael
7d4593cee9 move Ledger.* to Hledger.Data.* 2010-05-19 23:08:53 +00:00