hello, I am using the easytag plugin [0] to syntax highlight tags in my files. My tag database is rather large, so the syntax highlight regrex lines are about 80.000 lines long (which easytag splits into 4 smaller chunks). This worked fine in vim 7.3 with no noticeable impact on interactive performance.
Since I upgraded to 7.4027 vim is pinned to 100% cpu usage and so laggy when scrolling it becomes unusuable. E.g. see this example with easytag installed (very easy with pathogen): wget ftp://ftp.eso.org/pub/dfs/pipelines/libraries/cpl/cpl-6.3.1.tar.gz tar xfz cpl-6.3.1.tar.gz cd cpl-6.3.1/ vim +"UpdateTags -R ." +q time vim ./cplcore/cpl_column.c +HighlightTags +HighlightTags +HighlightTags +HighlightTags +500 +100 +500 +100 +500 +q with vim 7.3.547 real 0m1.582s user 0m1.260s sys 0m0.060s with vim 7.4.027 real 0m4.600s user 0m2.416s sys 0m1.748s notice the high system time usage, thats all from page faulting. (ubuntu 13.10, 3.80 kernel) This seems to be related to the new regex engine. Looking at the profile it speeds excessive amounts of time page faulting due to the copy_sub in add_state [1] Is easytag just doing the highlight regex wrong or is this a issue in the new engine? the regex used looks like this: syntax match cFunctionTag /\C\<\%(cpl_column_get_mean_complex\|cx_tree_previous\|cpl_table_copy_data_int\|cpl_table_get_column_format\|cx_map_erase_range\|cpl_table_divide_columns .... Regards, Julian Taylor [0] https://github.com/xolox [1] top of the perf profile: + 19,61% vim vim.gnome [.] nfa_regexec_both + 15,01% vim [kernel.kallsyms] [k] clear_page_c + 11,65% vim vim.gnome [.] addstate + 5,29% vim [kernel.kallsyms] [k] page_fault -- -- You received this message from the "vim_dev" 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_dev" 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/groups/opt_out.
