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.

Reply via email to