00f22819ae
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 | +-------------------------------------------++--------------+------------+--------+ |
||
---|---|---|
data | ||
extra | ||
hledger | ||
hledger-lib | ||
hledger-web | ||
site | ||
tests | ||
tools | ||
.authorspellings | ||
.boring | ||
ANNOUNCE | ||
bench.tests | ||
CONTRIBUTORS.md | ||
DEVELOPMENT.md | ||
DOWNLOAD.md | ||
FAQ.md | ||
HCAR.tex | ||
LICENSE | ||
Makefile | ||
MANUAL.md | ||
NEWS.md | ||
NOTES.org | ||
README.md | ||
SCREENSHOTS.md | ||
VERSION |
title |
---|
hledger |
hledger
hledger is a computer program for easily tracking money, time, or other commodities, inspired by ledger. It is quite limited in features, but lightweight and reliable. For some, it is a bare-bones, simpler, less expensive alternative to Quicken or GnuCash. It is available for free under the GNU General Public License.
hledger aims to help both computer experts and regular folks gain clarity in their finances and time management, but currently it is a little more suited to techies. I use it every day to:
- track spending and income
- see time reports by day/week/month/project
- get accurate numbers for client billing and tax filing
- track invoices
hledger is first a command-line tool, but also provides a web interface (try the demo). Read the manual to learn more, including how we are different from ledger, and get started tracking your numbers!
For support and more technical info, see the contributor guide or email me. I appreciate feedback and help with all aspects of hledger.