Hi Timothy, As a data point, I have a ledger with 59k directives, 113k postings and 56k transactions covering a little over 13 years of data (I imported my history when I moved to Beancount a few years ago). If I delete my .picklecache file and start up bean-query (which processes my full ledger), it takes 3.1s on my M4 Pro Mac mini (48GB of memory). While 3 seconds doesn't sound like much, when you hit it over and over (say when doing EOM recs), it does add notable friction. If I'm doing read-only work where it can use the cache, it's better, but still 1.1s per invocation.
-David On Tuesday, February 24, 2026 at 10:15:13 AM UTC-5 [email protected] wrote: > Hi Moritz, two thoughts. First of all, can I query the ledger using > TurboBean? And second of all, how large are your ledgers that processing > takes a lot of time? I have kept a fairly detailed ledger for three years > and any processing takes less than a tenth of a second. > > > > Sincerely, > Timothy Jesionowski > > On Tue, Feb 24, 2026, 7:21 AM 'Moritz Drexl' via Beancount < > [email protected]> wrote: > >> Hi all, >> >> I'd like to share a project I'm working on: A from-scratch implementation >> of >> Beancount that is fast and independent of the Python ecosystem. >> >> https://github.com/themoritz/turbobean >> >> *Why?* >> >> I love Beancount, but as my journal has grown, processing takes a >> considerable >> amount of time. I came across the Beancount Vnext: Goals & Design >> <http://furius.ca/beancount/doc/v3> document >> which talks about how to address this with re-implementing the core in >> C++. And >> since Martin has so little time working on Beancount these days, I >> thought why >> not work on this evolved version of Beancount myself? I added some of my >> own >> design ideas to the mix and the result is TurboBean. >> >> *Philosophy* >> >> My vision is to have this very minimalist and fast core Beancount >> implementation that is not tied to any language or ecosystem. It has some >> essentials included (in particular the LSP) to get started quickly but >> then >> mainly just interfaces with other languages via Protobuf. >> >> - Single binary, zero dependencies. You download one small binary and it >> just >> works — no Python environment, no pip, no virtualenvs. >> - Instant processing. Even large journals are parsed and processed in >> milliseconds. >> - Plugins in Lua. Extend and customize processing without the overhead of >> a full Python runtime. >> - Interop with other languages. Just use templating to generate .bean >> files. >> Pipe the output of processed transactions into any other language via >> Protobufs. >> - LSP and formatter built in. Every editor gets first-class support out >> of the >> box — jump to account definitions, hover for balances, auto-completion >> and >> renaming for accounts/tags/links. >> - Practical Web UI included. A built-in web server gives you basic >> journal, >> balance sheet, and income statement views to get started quickly. >> Similar to >> Fava. >> >> *Compatibility* >> >> TurboBean aims to be as compatible with existing .bean files as possible. >> Most >> files should work without changes. Where breaking changes exist, they >> stem from >> the redesigned booking system inspired by Vnext. The key changes are >> described >> in this document >> <https://github.com/themoritz/turbobean/blob/master/docs/inventories.md>. >> >> *Current Status* >> >> The project is at a point where I use the LSP for editing all my .bean >> files >> and the Web UI for basic reports. >> >> I plan to work next on Lua plugins, the formatter as well as Protobuf >> output. >> >> The project is definitely still exploratory so it would be great to have >> people >> play with it, and get feedback on design decisions since that's always the >> toughest part. >> >> Best, >> Moritz >> >> -- >> 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/a2b794df-0e57-4bbb-abe3-1df34db824e3n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/beancount/a2b794df-0e57-4bbb-abe3-1df34db824e3n%40googlegroups.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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/beancount/5153b104-f05e-4d80-b101-2d03a9aad282n%40googlegroups.com.
