On Di, 13 Mär 2018, Bram Moolenaar wrote: > I don't think code size matters much for a feature like this. > But if you want to compare sizes, you need to use a build where size is > relevant. A huge build with GUI is where users don't care about size. > The GUI adds so much that the Vim code part is smaller. > > When I make changes like dropping the #ifdef FEAT_AUTOCMD best compare > with a small build, no GUI and stripped binary. That's where the size > difference actually matters.
In general, I don't think this is a good measure, I rather prefer how much this would actually impact performance. But I don't have a good idea on how to test this. In its current form, vartabs feature would only be included for big versions. So comparing small builds should in theory not differ :) But anyhow, here is a comparison I made by manually editing feature.h and unconditionally enabling the vartabs feature: #v+ chrisbra@debian ~/code/git/vim-src/src (git)-[tags/v8.0.1600]- % cp -a temp temp.backup chrisbra@debian ~/code/git/vim-src/src (git)-[tags/v8.0.1600]- % ls -l temp/*(x) -rwxr-xr-x 1 chrisbra chrisbra 2973208 Mar 13 07:52 temp/vim_huge -rwxr-xr-x 1 chrisbra chrisbra 2981528 Mar 13 07:52 temp/vim_huge_vartabs -rwxr-xr-x 1 chrisbra chrisbra 4229312 Mar 13 14:10 temp/vim_small -rwxr-xr-x 1 chrisbra chrisbra 4249256 Mar 13 14:09 temp/vim_small_vartabs chrisbra@debian ~/code/git/vim-src/src (git)-[tags/v8.0.1600]- % strip temp/*(x) chrisbra@debian ~/code/git/vim-src/src (git)-[tags/v8.0.1600]- % ls -l temp/*(x) -rwxr-xr-x 1 chrisbra chrisbra 2973208 Mar 13 14:11 temp/vim_huge -rwxr-xr-x 1 chrisbra chrisbra 2981528 Mar 13 14:11 temp/vim_huge_vartabs -rwxr-xr-x 1 chrisbra chrisbra 977872 Mar 13 14:11 temp/vim_small -rwxr-xr-x 1 chrisbra chrisbra 982064 Mar 13 14:11 temp/vim_small_vartabs chrisbra@debian ~/code/git/vim-src/src (git)-[tags/v8.0.1600]- % for i in temp/vim_small*; do echo $i; $i --version; done temp/vim_small VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 13 2018 14:09:54) Included patches: 1-1600 Compiled by Christian Brabandt <[email protected]> Small version without GUI. Features included (+) or not (-): +acl -extra_search -mouse_netterm -tag_old_static -arabic -farsi -mouse_sgr -tag_any_white +autocmd -file_in_path -mouse_sysmouse -tcl -autoservername -find_in_path -mouse_urxvt -termguicolors -balloon_eval -float -mouse_xterm -terminal -balloon_eval_term -folding -multi_byte +terminfo -browse -footer -multi_lang -termresponse +builtin_terms +fork() -mzscheme -textobjects -byte_offset -gettext -netbeans_intg -timers -channel -hangul_input -num64 -title -cindent -iconv +packages -toolbar -clientserver -insert_expand -path_extra -user_commands -clipboard -job -perl +vertsplit -cmdline_compl +jumplist -persistent_undo -virtualedit +cmdline_hist -keymap -printer +visual -cmdline_info -lambda -profile -visualextra -comments -langmap -python -viminfo -conceal -libcall -python3 -vreplace -cryptv -linebreak -quickfix +wildignore -cscope -lispindent -reltime -wildmenu +cursorbind -listcmds -rightleft +windows -cursorshape -localmap -ruby +writebackup -dialog -lua +scrollbind -X11 -diff -menu -signs -xfontset -digraphs -mksession -smartindent -xim -dnd -modify_fname -startuptime -xpm -ebcdic -mouse -statusline -xsmp -emacs_tags -mouse_dec -sun_workshop -xterm_clipboard -eval -mouse_gpm -syntax -xterm_save +ex_extra -mouse_jsbterm +tag_binary system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" fall-back for $VIM: "/home/chrisbra/local/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L/usr/local/lib -Wl,--as-needed -o vim -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lselinux -lacl -lattr -lgpm -ldl temp/vim_small_vartabs VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 13 2018 14:05:55) Included patches: 1-1600 Extra patches: variable tabstops Compiled by Christian Brabandt <[email protected]> Small version without GUI. Features included (+) or not (-): +acl -extra_search -mouse_netterm -tag_old_static -arabic -farsi -mouse_sgr -tag_any_white +autocmd -file_in_path -mouse_sysmouse -tcl -autoservername -find_in_path -mouse_urxvt -termguicolors -balloon_eval -float -mouse_xterm -terminal -balloon_eval_term -folding -multi_byte +terminfo -browse -footer -multi_lang -termresponse +builtin_terms +fork() -mzscheme -textobjects -byte_offset -gettext -netbeans_intg -timers -channel -hangul_input -num64 -title -cindent -iconv +packages -toolbar -clientserver -insert_expand -path_extra -user_commands -clipboard -job -perl +vartabs -cmdline_compl +jumplist -persistent_undo +vertsplit +cmdline_hist -keymap -printer -virtualedit -cmdline_info -lambda -profile +visual -comments -langmap -python -visualextra -conceal -libcall -python3 -viminfo -cryptv -linebreak -quickfix -vreplace -cscope -lispindent -reltime +wildignore +cursorbind -listcmds -rightleft -wildmenu -cursorshape -localmap -ruby +windows -dialog -lua +scrollbind +writebackup -diff -menu -signs -X11 -digraphs -mksession -smartindent -xfontset -dnd -modify_fname -startuptime -xim -ebcdic -mouse -statusline -xpm -emacs_tags -mouse_dec -sun_workshop -xsmp -eval -mouse_gpm -syntax -xterm_clipboard +ex_extra -mouse_jsbterm +tag_binary -xterm_save system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" fall-back for $VIM: "/home/chrisbra/local/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L/usr/local/lib -Wl,--as-needed -o vim -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lselinux -lacl -lattr -lgpm -ldl #v- The difference for the stripped small version is here 0.4% Best, Christian -- Probleme muß man kondensieren, wenn man sie lösen will. Erst der Extrakt ist überschaubar. -- Henry Kissinger -- -- 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.
