-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ledger compiles with debug information - thus decreasing speed. #2299
Comments
Not sure what the issue is here. @n4s-linux can you please clarify? Is that ledger by default compiles with debug by default but shouldn't according to you? |
Hi there. Yes, it turns out that with debug information compared to the optimized binary without debug info - it its 8 times faster. |
Could be that changing to the See https://github.com/ledger/ledger/blob/master/acprep#L234-L235, it seems the codelines date back to e0473e2 when John "[r]ewrote acprep in Python and improved the build". If you build using |
that builds the slow version for me. which is ~6.5 times slower than my current binary. i used acprep opt to get the fast version |
After a quick investigation I think the performance improvements are mainly due to acprep setting |
To better understand your measurements, @n4s-linux, would you be willing to share how, i.e. with which commands, you measure performance and possible share your anonymised underlying dataset (e.g. |
Sure thing. |
Thanks, @n4s-linux, and to get a better understanding how you measure performance, which commands do you run? |
Note to self: Unless ledger is compiled with |
Problem
Ledger turns out to be pretty slow with many transactions - up to a second with around 20.000 postings.
Solution
Clone and compile with ./acprep opt # for optimizations
Ledger --version doesnt show its a debugging version
Even though it was a debugging version, ledger --version says:
0ms [INFO] Ledger starting
Ledger 3.3.0-20230208, the command-line accounting tool
Copyright (c) 2003-2023, John Wiegley. All rights reserved.
This program is made available under the terms of the BSD Public License.
See LICENSE file included with the distribution for details and disclaimer.
Error: No journal file was specified (please use -f)
0ms [INFO] Ledger ended
The text was updated successfully, but these errors were encountered: