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.

Reply via email to