To: vim_dev@googlegroups.com Subject: Patch 7.3.455 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.455 Problem: Using many continuation lines can be slow. Solution: Adjust the reallocation size to the current length. Files: src/ex_cmds2.c *** ../vim-7.3.454/src/ex_cmds2.c 2012-02-11 20:40:49.000000000 +0100 --- src/ex_cmds2.c 2012-02-22 18:24:11.000000000 +0100 *************** *** 3448,3454 **** { garray_T ga; ! ga_init2(&ga, (int)sizeof(char_u), 200); ga_concat(&ga, line); ga_concat(&ga, p + 1); for (;;) --- 3448,3454 ---- { garray_T ga; ! ga_init2(&ga, (int)sizeof(char_u), 400); ga_concat(&ga, line); ga_concat(&ga, p + 1); for (;;) *************** *** 3460,3465 **** --- 3460,3474 ---- p = skipwhite(sp->nextline); if (*p != '\\') break; + /* Adjust the growsize to the current length to speed up + * concatenating many lines. */ + if (ga.ga_len > 400) + { + if (ga.ga_len > 8000) + ga.ga_growsize = 8000; + else + ga.ga_growsize = ga.ga_len; + } ga_concat(&ga, p + 1); } ga_append(&ga, NUL); *** ../vim-7.3.454/src/version.c 2012-02-22 18:12:29.000000000 +0100 --- src/version.c 2012-02-22 18:24:58.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 455, /**/ -- From "know your smileys": :-X My lips are sealed /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///