Comment by simonmic

Comment by simonmic 4 days ago

0 replies

For most PTA users, 1 million transactions would be a large file; we usually split them up more.

On a macbook air m1, here's how hledger 1.40 from homebrew handles it (it used to be faster; perhaps this will improve again):

    $ hledger -f examples/1Mtxns-1kaccts.journal stats
    Main file           : .../1Mtxns-1kaccts.journal
    Included files      : 0
    Txns span           : 2000-01-01 to 4737-11-28 (1000000 days)
    Last txn            : 4737-11-27 (990974 days from now)
    Txns                : 1000000 (1.0 per day)
    Txns last 30 days   : 31 (1.0 per day)
    Txns last 7 days    : 8 (1.1 per day)
    Payees/descriptions : 1000000
    Accounts            : 1000 (depth 10)
    Commodities         : 26
    Market prices       : 1000000
    Runtime stats       : 80.23 s elapsed, 12465 txns/s, 2584 MB live, 7679 MB alloc
Ledger was traditionally faster on at least some reports, but I haven't been able to reproduce that on my machines for some time. Today, with the same file above, it ran for 40m before I killed it.

Tackler advertises 56k txns/s: https://tackler.e257.fi/docs/performance

In my experience about half the time is spent on parsing and half on report calculation. Long-running apps like hledger-ui and hledger-web do the parsing only once at startup, saving time compared to CLI commands.