Derek Mahar wrote:
7000-transaction ledger). So: some inefficient data structures/algorithms. Lots 
of room for improvement. :)

It does seem that there is room for improvement, but even if it may be
slow now, I do appreciate that an implementation in another language
at least exists!  Please don't stop what you're doing!

Thanks Derek! I also think that multiple implementations is good, for an app 
that people need to be accurate and dependable.

Your comment led to me to spend some time on this, and I focussed on accountTreeFrom & ledgerAccount. I've learned that my simple Tree type is inefficient here, and that I probably don't need to use a tree at all. Or there may be a way to fix this with a strategically placed ! (ghc strictness annotation) but I haven't cracked it yet.

On the upside, on my machine hledger seems to do register reports faster than ledger, and when patterns are used for filtering, both balance and register reports take about the same time with either implementation assuming non-huge files and a fair wind.

Reply via email to