simonmichael / hledger

Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.
https://hledger.org
GNU General Public License v3.0
2.92k stars 317 forks source link

performance tuning for 1.0 #256

Open simonmichael opened 9 years ago

simonmichael commented 9 years ago

https://groups.google.com/forum/#!topic/hledger/sA0lA7wLUFo

After posting those ideas, I remembered that actually I'm trying to get to 1.0, and we have enough features for that. What we don't have enough of is speed; we are generally slower than Ledger, at least (and especially) when files get large. At least, that's my understanding and common wisdom, though, some of the benchmark results like http://hledger.org/profs/201409131354.bench tell a different story. I suppose that's an isolated case due to an incorrect Ledger build. More clarity needed here. Regardless, I know hledger isn't as fast as I'd like if I run it on large multi-year journals. And 0.24's more powerful account aliases are not performing well (https://github.com/simonmichael/hledger/issues/244).

I think it's possible for a Haskell implementation to match or exceed Ledger's performance. We should try to do that. And then release 1.0.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/16010406-performance-tuning-for-1-0?utm_campaign=plugin&utm_content=tracker%2F536505&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F536505&utm_medium=issues&utm_source=github).
simonmichael commented 9 years ago

And related, better performance testing/logging/reporting. Cf https://github.com/nomeata/gipeda