I'm a fan of the readability/maintainability relative to straight C. It is
also possible to commit the C output so that cython is only a development
dependency and building just needs the current deps.

I think of it less like a custom syntax and more of a syntax augmentation.
All of the cython features I've used can be translated back to straight
python very easily.

On Sun, Aug 20, 2017 at 11:47 AM Martin Blais <[email protected]> wrote:

> Never tried.
> Not a fan of custom syntax, but if it helps you prototype speed
> improvements +1. We could then make a final C translation.
>
>
> On Sun, Aug 20, 2017 at 2:21 PM, Jason Chu <[email protected]> wrote:
>
>> Have there been any tests with cython? I've had great results converting
>> methods into c functions with type annotations. Would it be worth the
>> additional dependency? Or possibly we could make it an optional dependency
>> if done properly.
>>
>> On Sun, Aug 20, 2017, 10:35 AM Matthew S. Harris <[email protected]>
>> wrote:
>>
>>> On Wed, Aug 16, 2017 at 10:06 PM Martin Blais <[email protected]> wrote:
>>>
>>>> and how long does Beancount take to parse them?
>>>>
>>>
>>> $ time bean-check finances.beancount
>>> real 0m16.947s
>>> user 0m16.393s
>>> sys 0m0.305s
>>>
>>> $ time bean-check finances.beancount
>>> real 0m1.494s
>>> user 0m1.304s
>>> sys 0m0.135s
>>>
>>>
>>>> On one of those:
>>>>
>>>> https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc6i5syh.html
>>>> with 32Gb of RAM running Linux.
>>>> (It's basically a souped-up laptop in a small box.)
>>>>
>>>
>>> Ah, I'm going to consider getting one of those. Looks nice!
>>>
>>>
>>>> I suspect most of that 30 secs is rendering time.
>>>> Try running this:
>>>>
>>>> $ time bean-check -v $L
>>>>
>>>
>>> $ time bean-check -v finances.beancount
>>> INFO : Operation: 'beancount.parser.parser.parse_file' Time: 1635 ms
>>> INFO : Operation: 'beancount.parser.parser' Time: 1635 ms
>>> INFO : Operation: 'beancount.ops.pad' Time: 279 ms
>>> INFO : Operation: 'beancount.ops.documents' Time: 33 ms
>>> INFO : Operation: 'beancount.plugins.implicit_prices' Time: 585 ms
>>> INFO : Operation: 'beancount.plugins.unrealized' Time: 703 ms
>>> INFO : Operation: 'beancount.plugins.tag_pending' Time: 17 ms
>>> INFO : Operation: 'beancount.plugins.check_commodity' Time: 64 ms
>>> INFO : Operation: 'beancount.ops.balance' Time: 800 ms
>>> INFO : Operation: 'function: validate_open_close' Time: 11 ms
>>> INFO : Operation: 'function: validate_active_accounts' Time: 68 ms
>>> INFO : Operation: 'function: validate_currency_constraints' Time: 48 ms
>>> INFO : Operation: 'function: validate_duplicate_balances' Time: 7 ms
>>> INFO : Operation: 'function: validate_duplicate_commodities' Time: 7 ms
>>> INFO : Operation: 'function: validate_documents_paths' Time: 4 ms
>>> INFO : Operation: 'function: validate_check_transaction_balances' Time:
>>> 676 ms
>>> INFO : Operation: 'function: validate_data_types' Time: 186 ms
>>> INFO : Operation: 'beancount.ops.validate' Time: 1009 ms
>>>
>>> Looks like my times are about twice yours.
>>>
>>> I sort-of live with it (I mostly use the SQL commands now), but I'd be
>>>> lying if I said it doesn't annoy me.
>>>> Used to be snappy and fast, I think beyond 2secs it starts to annoy me.
>>>> I'm in a similar situation as you... getting annoyed, but not enough to
>>>> actually do anything about it yet.
>>>>
>>>
>>> Looks like you've had the same ideas and many more, and it just hasn't
>>> been worth fixing yet.
>>>
>>>
>>> Matthew
>>>
>>> --
>>> 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 post to this group, send email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/beancount/CALo5b9Lt-HE%2BnXst016yjuN8uH9KqcQgpNfumKfdDq%3DW6WhGcA%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/beancount/CALo5b9Lt-HE%2BnXst016yjuN8uH9KqcQgpNfumKfdDq%3DW6WhGcA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>> 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 post to this group, send email to [email protected].
>>
> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beancount/CAFFHUgtc_aj5dZ5TXUEJOuipY13dzCn8GVNjL7FLoaS5P5zfjw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/beancount/CAFFHUgtc_aj5dZ5TXUEJOuipY13dzCn8GVNjL7FLoaS5P5zfjw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>
>
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> 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 post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/CAK21%2BhP2oudoZL-tsW8h34hbXKf0xA9SNu1aaG4NrvZyocHFFg%40mail.gmail.com
> <https://groups.google.com/d/msgid/beancount/CAK21%2BhP2oudoZL-tsW8h34hbXKf0xA9SNu1aaG4NrvZyocHFFg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAFFHUgsTib1MnEDRxEJwr8EmAz2keQJoR-geW-t1jZ8MSHHCuw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to