[Geany-Devel] [FT-plugins] Proposed "Features"
lists.ban at xxxxx
Wed Aug 31 12:59:16 UTC 2016
Le 31/08/2016 à 13:22, Thomas Martitz a écrit :
> Am 31.08.2016 um 13:03 schrieb Jiří Techet:
>> No, performance is a very valid point. Tag updates don't happen in a
>> background thread in Geany but rather on the main thread (and changing
>> this would require lots of modifications as neither ctags, nor TM nor
>> Geany are thread-safe) and all updates have to happen in a really
>> short time period - you cannot make the GUI freeze while the user is
>> typing so you have 100ms at most without any noticeable delay.
> I'm saying we can't evaluate performance at this time, because no
> implementation is available. So saying now "uhm I fear it might be too
> slow my guess is that the other one is 100x faster" is just a wild
> assumption that doesn't help except spraying FUD. And outright rejecting
> a proposal based on such assumptions is invalid.
I wouldn't dismiss Jiří's performances remarks that easily :) Remember
he spent a fair amount of time optimizing it, and has had experience
with huge amount of tags with his project-organizer plugin on large
projects (Linux kernel, anyone?).
And IIUC, he realized that with all the tags *current* parsers generate
(e.g. no local variables, etc.) TM started to struggle too much for it
to be usable.
Sure, we need numbers, but I'm afraid we kinda already have some idea of
what they would be.
Yes, maybe it'd be possible to improve the situation even further, but
it might be a lot of work for very little gain. I would guess if a e.g.
libclang works with real-size projects is because it has a lot of highly
specific optimizations resulting of a lot of work on their side. And
why I'm not sure it's even so useful for TM anyway, is that both Lex and
Matthew showed some semantic examples that are both very subtle to deal
with, and highly specific to some languages (here, C++) -- I love Lex's
ADL example, C++ can seem just crazy :)
More information about the Devel