Comment by simonmic
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.