Go to file
Simon Michael c89c33b36e lib: textification: parse stream
10% more allocation, but 35% lower maximum residency, and slightly quicker.

hledger -f data/100x100x10.journal stats
<<ghc: 39327768 bytes, 77 GCs, 196834/269496 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.010 elapsed), 0.020 MUT (0.092 elapsed), 0.014 GC (0.119 elapsed) :ghc>>
<<ghc: 42842136 bytes, 84 GCs, 194010/270912 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.009 elapsed), 0.016 MUT (0.029 elapsed), 0.012 GC (0.120 elapsed) :ghc>>

hledger -f data/1000x1000x10.journal stats
<<ghc: 314291440 bytes, 612 GCs, 2070776/6628048 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.000 elapsed), 0.128 MUT (0.144 elapsed), 0.059 GC (0.070 elapsed) :ghc>>
<<ghc: 349558872 bytes, 681 GCs, 1397597/4106384 avg/max bytes residency (7 samples), 11M in use, 0.000 INIT (0.004 elapsed), 0.124 MUT (0.133 elapsed), 0.047 GC (0.053 elapsed) :ghc>>

hledger -f data/10000x1000x10.journal stats
<<ghc: 3070026824 bytes, 5973 GCs, 12698030/62951784 avg/max bytes residency (10 samples), 124M in use, 0.000 INIT (0.002 elapsed), 1.268 MUT (1.354 elapsed), 0.514 GC (0.587 elapsed) :ghc>>
<<ghc: 3424013128 bytes, 6658 GCs, 11405501/41071624 avg/max bytes residency (11 samples), 111M in use, 0.000 INIT (0.001 elapsed), 1.343 MUT (1.406 elapsed), 0.511 GC (0.573 elapsed) :ghc>>

hledger -f data/100000x1000x10.journal stats
<<ghc: 30753387392 bytes, 59811 GCs, 117615462/666703600 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.000 elapsed), 12.068 MUT (12.238 elapsed), 6.015 GC (7.190 elapsed) :ghc>>
<<ghc: 34306530696 bytes, 66727 GCs, 76806196/414629312 avg/max bytes residency (14 samples), 1009M in use, 0.000 INIT (0.010 elapsed), 14.357 MUT (16.370 elapsed), 5.298 GC (6.534 elapsed) :ghc>>
2016-05-24 19:00:57 -07:00
bin doc: more consistent README file extensions 2014-10-31 16:16:41 -07:00
checks update dev setup tests 2015-03-16 17:59:06 -07:00
data tools: fix make functest in a fresh copy 2016-04-21 08:37:37 -07:00
doc doc: macro cleanups 2016-04-17 15:27:56 -07:00
extra extra: update, stackify hledger-check-dates 2016-05-19 16:29:39 -07:00
hledger lib: textification: parse stream 2016-05-24 19:00:57 -07:00
hledger-api lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
hledger-lib lib: textification: parse stream 2016-05-24 19:00:57 -07:00
hledger-ui lib: textification begins! account names 2016-05-24 19:00:49 -07:00
hledger-web lib: textification: parse stream 2016-05-24 19:00:57 -07:00
site rename a file to help git on windows (#345) 2016-05-18 16:52:10 -07:00
tests lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
tools rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
.gitignore shake: also generate info manuals 2016-04-18 17:54:55 -07:00
.travis.yml travis: add --no-haddock-deps, should work now 2016-05-06 18:16:59 -07:00
.version bump version to 0.27 2015-10-30 13:21:51 -07:00
buildSandbox.sh make buildSandbox.sh executable 2014-05-22 14:21:27 -07:00
dev.hs rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
help-system.mk tools: makefile help system improvements 2015-07-12 12:29:53 -07:00
LICENSE add LICENSE 2008-10-01 07:52:07 +00:00
Makefile lib: add a doctest suite 2016-04-28 13:34:57 -07:00
Makefile.old tools: archive old Makefile and start afresh 2015-07-12 12:29:53 -07:00
README.md doc: readme: make gpl badge green 2015-09-02 11:49:14 -07:00
Shake.hs shake: also generate info manuals 2016-04-18 17:54:55 -07:00
stack-ghc8.yaml ui: use new lens release instead of fork 2016-04-28 17:31:02 -07:00
stack.yaml stack: add some required newer deps from hackage 2016-05-11 07:13:21 -07:00

hledger

lightweight, portable, dependable accounting tools

hledger is a computer program for easily tracking money, time, or other commodities, on unix, mac and windows (and web-capable mobile devices, to some extent).

It is first a command-line tool, but there are also curses-style and web interfaces, and a Haskell library (http://hackage.haskell.org/package/hledger-lib) for building your own programs and scripts (hledger is written in Haskell). hledger was inspired by and is largely compatible with Ledger. hledger is free software available under the GNU General Public License v3+.

hledger aims to help both computer experts and regular folks to gain clarity and control in their finances and time management, but currently it is a bit 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

Though limited in features, hledger is lightweight, usable and reliable. For some, it is a simpler, less distracting, more future-proof alternative to Quicken or GnuCash.

For more, see http://hledger.org.

license hackage release

travis build status hackage upper bounds github issues bountysource