There should not be a meaningful difference in performance. I think what you're reporting is just variance between runs.
On Mon, Jan 6, 2025, 05:12 Aaron Stacy <aaron.r.st...@gmail.com> wrote: > 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 beancount+unsubscr...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/beancount/CACjABkks64zGD4NvyREvfnLe9hBGfxyMevF613gC4jdi1pJnCw%40mail.gmail.com > <https://groups.google.com/d/msgid/beancount/CACjABkks64zGD4NvyREvfnLe9hBGfxyMevF613gC4jdi1pJnCw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 beancount+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/beancount/CAK21%2BhO2O0C0n8hDiFjrjLx8U%3DPDn6Y-azBpVo1Cx5FGF9q%2BXg%40mail.gmail.com.