I upgraded to beancount v3 and I'm happy I did with the type annotations
and more focused deps (i.e. breaking out beangulp & others from the core).
Only thing that surprised me though was that it seems slightly slower
(maybe a percentage point or so). I've got about 15k entries in my ledger,
and I've got a few plugins. My implicit prices directive wraps
beancount.prices.implicit_prices. This is on an M1 macbook.
As I said, v3 is for sure an over all improvement, but let me know if yall
know of anything I'm missing out on here or if this is expected.
Here are a few runs of the check operation with v2:
∂me-macbookpro4 🅖 finances_beancount_v2
§ bean-check -v finances.beancount
INFO : Operation: 'beancount.parser.parser.parse_file' Time:
105 ms
INFO : Operation: 'beancount.parser.parser' Time:
105 ms
INFO : Operation: 'parse' Time:
107 ms
INFO : Operation: 'booking' Time:
189 ms
INFO : Operation: 'beancount.ops.pad' Time:
12 ms
INFO : Operation: 'beancount.ops.documents' Time:
16 ms
INFO : Operation: 'finances.plugins.implicit_prices' Time:
33 ms
INFO : Operation: 'beancount.ops.balance' Time:
33 ms
INFO : Operation: 'run_transformations' Time:
96 ms
INFO : Operation: 'function: validate_open_close' Time:
1 ms
INFO : Operation: 'function: validate_active_accounts' Time:
6 ms
INFO : Operation: 'function: validate_currency_constraints' Time:
4 ms
INFO : Operation: 'function: validate_duplicate_balances' Time:
1 ms
INFO : Operation: 'function: validate_duplicate_commodities' Time:
0 ms
INFO : Operation: 'function: validate_documents_paths' Time:
0 ms
INFO : Operation: 'function: validate_check_transaction_balances' Time:
43 ms
INFO : Operation: 'function: validate_data_types' Time:
13 ms
INFO : Operation: 'beancount.ops.validate' Time:
68 ms
INFO : Operation: 'beancount.loader (total)' Time:
462 ms
(env)
∂me-macbookpro4 🅖 finances_beancount_v2
§ bean-check -v finances.beancount
INFO : Operation: 'beancount.parser.parser.parse_file' Time:
102 ms
INFO : Operation: 'beancount.parser.parser' Time:
103 ms
INFO : Operation: 'parse' Time:
105 ms
INFO : Operation: 'booking' Time:
189 ms
INFO : Operation: 'beancount.ops.pad' Time:
12 ms
INFO : Operation: 'beancount.ops.documents' Time:
16 ms
INFO : Operation: 'finances.plugins.implicit_prices' Time:
33 ms
INFO : Operation: 'beancount.ops.balance' Time:
34 ms
INFO : Operation: 'run_transformations' Time:
98 ms
INFO : Operation: 'function: validate_open_close' Time:
1 ms
INFO : Operation: 'function: validate_active_accounts' Time:
7 ms
INFO : Operation: 'function: validate_currency_constraints' Time:
4 ms
INFO : Operation: 'function: validate_duplicate_balances' Time:
1 ms
INFO : Operation: 'function: validate_duplicate_commodities' Time:
0 ms
INFO : Operation: 'function: validate_documents_paths' Time:
0 ms
INFO : Operation: 'function: validate_check_transaction_balances' Time:
43 ms
INFO : Operation: 'function: validate_data_types' Time:
14 ms
INFO : Operation: 'beancount.ops.validate' Time:
70 ms
INFO : Operation: 'beancount.loader (total)' Time:
461 ms
(env)
∂me-macbookpro4 🅖 finances_beancount_v2
§ bean-check -v finances.beancount
INFO : Operation: 'beancount.parser.parser.parse_file' Time:
111 ms
INFO : Operation: 'beancount.parser.parser' Time:
111 ms
INFO : Operation: 'parse' Time:
114 ms
INFO : Operation: 'booking' Time:
194 ms
INFO : Operation: 'beancount.ops.pad' Time:
12 ms
INFO : Operation: 'beancount.ops.documents' Time:
16 ms
INFO : Operation: 'finances.plugins.implicit_prices' Time:
33 ms
INFO : Operation: 'beancount.ops.balance' Time:
34 ms
INFO : Operation: 'run_transformations' Time:
96 ms
INFO : Operation: 'function: validate_open_close' Time:
1 ms
INFO : Operation: 'function: validate_active_accounts' Time:
6 ms
INFO : Operation: 'function: validate_currency_constraints' Time:
4 ms
INFO : Operation: 'function: validate_duplicate_balances' Time:
1 ms
INFO : Operation: 'function: validate_duplicate_commodities' Time:
0 ms
INFO : Operation: 'function: validate_documents_paths' Time:
0 ms
INFO : Operation: 'function: validate_check_transaction_balances' Time:
42 ms
INFO : Operation: 'function: validate_data_types' Time:
13 ms
INFO : Operation: 'beancount.ops.validate' Time:
68 ms
INFO : Operation: 'beancount.loader (total)' Time:
473 ms
And then with v3:
∂me-macbookpro4 🅖 finances_beancount_v3
§ bean-check -v finances.beancount
INFO : Operation: 'beancount.parser.parser.parse_file' Time:
112 ms
INFO : Operation: 'beancount.parser.parser' Time:
112 ms
INFO : Operation: 'parse' Time:
114 ms
INFO : Operation: 'booking' Time:
191 ms
INFO : Operation: 'beancount.ops.documents' Time:
5 ms
INFO : Operation: 'finances.plugins.implicit_prices' Time:
31 ms
INFO : Operation: 'beancount.ops.pad' Time:
26 ms
INFO : Operation: 'beancount.ops.balance' Time:
33 ms
INFO : Operation: 'run_transformations' Time:
99 ms
INFO : Operation: 'function: validate_open_close' Time:
1 ms
INFO : Operation: 'function: validate_active_accounts' Time:
6 ms
INFO : Operation: 'function: validate_currency_constraints' Time:
4 ms
INFO : Operation: 'function: validate_duplicate_balances' Time:
1 ms
INFO : Operation: 'function: validate_duplicate_commodities' Time:
0 ms
INFO : Operation: 'function: validate_documents_paths' Time:
0 ms
INFO : Operation: 'function: validate_check_transaction_balances' Time:
43 ms
INFO : Operation: 'function: validate_data_types' Time:
13 ms
INFO : Operation: 'beancount.ops.validate' Time:
68 ms
INFO : Operation: 'beancount.loader (total)' Time:
472 ms
(env)
∂me-macbookpro4 🅖 finances_beancount_v3
§ bean-check -v finances.beancount
INFO : Operation: 'beancount.parser.parser.parse_file' Time:
113 ms
INFO : Operation: 'beancount.parser.parser' Time:
113 ms
INFO : Operation: 'parse' Time:
116 ms
INFO : Operation: 'booking' Time:
195 ms
INFO : Operation: 'beancount.ops.documents' Time:
5 ms
INFO : Operation: 'finances.plugins.implicit_prices' Time:
32 ms
INFO : Operation: 'beancount.ops.pad' Time:
27 ms
INFO : Operation: 'beancount.ops.balance' Time:
34 ms
INFO : Operation: 'run_transformations' Time:
101 ms
INFO : Operation: 'function: validate_open_close' Time:
1 ms
INFO : Operation: 'function: validate_active_accounts' Time:
7 ms
INFO : Operation: 'function: validate_currency_constraints' Time:
4 ms
INFO : Operation: 'function: validate_duplicate_balances' Time:
1 ms
INFO : Operation: 'function: validate_duplicate_commodities' Time:
0 ms
INFO : Operation: 'function: validate_documents_paths' Time:
0 ms
INFO : Operation: 'function: validate_check_transaction_balances' Time:
45 ms
INFO : Operation: 'function: validate_data_types' Time:
13 ms
INFO : Operation: 'beancount.ops.validate' Time:
71 ms
INFO : Operation: 'beancount.loader (total)' Time:
482 ms
(env)
∂me-macbookpro4 🅖 finances_beancount_v3
§ bean-check -v finances.beancount
INFO : Operation: 'beancount.parser.parser.parse_file' Time:
112 ms
INFO : Operation: 'beancount.parser.parser' Time:
112 ms
INFO : Operation: 'parse' Time:
115 ms
INFO : Operation: 'booking' Time:
194 ms
INFO : Operation: 'beancount.ops.documents' Time:
5 ms
INFO : Operation: 'finances.plugins.implicit_prices' Time:
32 ms
INFO : Operation: 'beancount.ops.pad' Time:
27 ms
INFO : Operation: 'beancount.ops.balance' Time:
34 ms
INFO : Operation: 'run_transformations' Time:
100 ms
INFO : Operation: 'function: validate_open_close' Time:
1 ms
INFO : Operation: 'function: validate_active_accounts' Time:
6 ms
INFO : Operation: 'function: validate_currency_constraints' Time:
4 ms
INFO : Operation: 'function: validate_duplicate_balances' Time:
1 ms
INFO : Operation: 'function: validate_duplicate_commodities' Time:
0 ms
INFO : Operation: 'function: validate_documents_paths' Time:
0 ms
INFO : Operation: 'function: validate_check_transaction_balances' Time:
42 ms
INFO : Operation: 'function: validate_data_types' Time:
12 ms
INFO : Operation: 'beancount.ops.validate' Time:
66 ms
INFO : Operation: 'beancount.loader (total)' Time:
475 ms
--
You received this message because you are subscribed to the Google Groups
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/beancount/CACjABkks64zGD4NvyREvfnLe9hBGfxyMevF613gC4jdi1pJnCw%40mail.gmail.com.