Hi. When passing a huge text string, substitute() is too slow.
" removing linefeeds " `txt' is string, read from file over 3 Mbyte and 5000 lines call substitute(txt, '\n', '', 'g') " 3.405360 sec. call join(split(txt, "\n"), '') " 0.025872 sec. This issues occurs because of eval.c:25123 (v7-4-475); calling STRLEN() at each repetition of a loop. profiling result (using google-perftools) https://gist.github.com/ichizok/dc82b7f3da46d4c778c3 I propose a below patch. https://gist.github.com/ichizok/d6a494d4fb7babdf41ff " patched call substitute(txt, '\n', '', 'g') " 0.017540 sec. Thank you. - Ozaki Kiichi -- -- 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/d/optout.
