Christian Brabandt wrote > Could you provide a) the tagfile and b) the two functions to search for > a specific tag > and c) the name of the tag, that makes it so slow? > > I'd like to check, what makes taglist() so slow.
Hi Christian, I'm glad you're taking this on. I've attached the script <http://vim.1045645.n5.nabble.com/file/n5723929/inherits.vim> . It has two main functions, Inherits() and InheritsOld(). InheritsOld() uses taglist(), Inherits() uses readfile() and parses the tag records itself via a helper function ParseCtagsRec(). The best way to switch between them is to change the command, also named Inherits, at the bottom of the file to call either Inherits() or InheritsOld(). Inherits take the name of a class (you can also use a regex, but lets not complicate things) and finds all classes that inherit from the class directly. For our purposes it doesn't really matter if it's a real class, it will search the entire tags file anyway so that you'll see the problem whether or not the command succeeds. However, in order to have any chance of success, the tags file must be an Exuberant Ctags file build with 'i' in the --fields argument. I use --fields=ilmS. Unfortunately I cannot give you the tags file without getting special permission for security policy reasons. But I think that even a moderate tags file like I suppose would be generated from the VIM source code would show the problem. If not, we can discuss other possibilities. Regards and good luck, Codie -- View this message in context: http://vim.1045645.n5.nabble.com/taglist-performance-tp1149739p5723929.html Sent from the Vim - General mailing list archive at Nabble.com. -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
