On So, 11 Mär 2018, Tony Mechelynck wrote: > In order to decide whether or not it is actually "a small thing" in > terms of executable bloat I would like to see figures: let's say the > size of two Huge executables for the same OS, word size (32/64) and > GUI, differing only in inclusion or not of the variable-tabs feature. > (I assume that that feature, if and when part of "standard" Vim, would > be "ifdeffable" at compile time, via configure on the OSes where > configure is used; and this means that it would routinely be > ifdeffed-out in Tiny builds.)
Here we go: With vartabs: VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 12 2018 23:10:47) Included patches: 1-1600 Extra patches: variable tabstops Compiled by Christian Brabandt <c...@256bit.org> Huge version without GUI. Features included (+) or not (-): +acl +farsi +mouse_sgr -tag_any_white +arabic +file_in_path -mouse_sysmouse -tcl +autocmd +find_in_path +mouse_urxvt +termguicolors -autoservername +float +mouse_xterm +terminal -balloon_eval +folding +multi_byte +terminfo +balloon_eval_term -footer +multi_lang +termresponse -browse +fork() -mzscheme +textobjects ++builtin_terms +gettext +netbeans_intg +timers +byte_offset -hangul_input +num64 +title +channel +iconv +packages -toolbar +cindent +insert_expand +path_extra +user_commands +clientserver +job +perl +vartabs +clipboard +jumplist +persistent_undo +vertsplit +cmdline_compl +keymap +postscript +virtualedit +cmdline_hist +lambda +printer +visual +cmdline_info +langmap +profile +visualextra +comments +libcall +python/dyn +viminfo +conceal +linebreak +python3/dyn +vreplace +cryptv +lispindent +quickfix +wildignore +cscope +listcmds +reltime +wildmenu +cursorbind +localmap +rightleft +windows +cursorshape +lua -ruby +writebackup +dialog_con +menu +scrollbind +X11 +diff +mksession +signs +xfontset +digraphs +modify_fname +smartindent -xim -dnd +mouse +startuptime -xpm -ebcdic -mouseshape +statusline +xsmp_interact +emacs_tags +mouse_dec -sun_workshop +xterm_clipboard +eval +mouse_gpm +syntax -xterm_save +ex_extra -mouse_jsbterm +tag_binary +extra_search +mouse_netterm +tag_old_static 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 -Wl,-E -L/usr/local/lib -Wl,--as-needed -o vim -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt ,---- | chrisbra@debian ~/code/git/vim-src/src (git)-[vartabs]- % ls -l vim | -rwxr-xr-x 1 chrisbra chrisbra 12264088 Mar 12 23:10 vim `---- Without vartabs ,---- | chrisbra@debian ~/code/git/vim-src/src (git)-[vartabs]- % ls -l vim | -rwxr-xr-x 1 chrisbra chrisbra 12234272 Mar 12 23:11 vim `---- VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 12 2018 23:11:52) Included patches: 1-1600 Compiled by Christian Brabandt <c...@256bit.org> Huge version without GUI. Features included (+) or not (-): +acl +farsi +mouse_sgr -tag_any_white +arabic +file_in_path -mouse_sysmouse -tcl +autocmd +find_in_path +mouse_urxvt +termguicolors -autoservername +float +mouse_xterm +terminal -balloon_eval +folding +multi_byte +terminfo +balloon_eval_term -footer +multi_lang +termresponse -browse +fork() -mzscheme +textobjects ++builtin_terms +gettext +netbeans_intg +timers +byte_offset -hangul_input +num64 +title +channel +iconv +packages -toolbar +cindent +insert_expand +path_extra +user_commands +clientserver +job +perl +vertsplit +clipboard +jumplist +persistent_undo +virtualedit +cmdline_compl +keymap +postscript +visual +cmdline_hist +lambda +printer +visualextra +cmdline_info +langmap +profile +viminfo +comments +libcall +python/dyn +vreplace +conceal +linebreak +python3/dyn +wildignore +cryptv +lispindent +quickfix +wildmenu +cscope +listcmds +reltime +windows +cursorbind +localmap +rightleft +writebackup +cursorshape +lua -ruby +X11 +dialog_con +menu +scrollbind +xfontset +diff +mksession +signs -xim +digraphs +modify_fname +smartindent -xpm -dnd +mouse +startuptime +xsmp_interact -ebcdic -mouseshape +statusline +xterm_clipboard +emacs_tags +mouse_dec -sun_workshop -xterm_save +eval +mouse_gpm +syntax +ex_extra -mouse_jsbterm +tag_binary +extra_search +mouse_netterm +tag_old_static 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 -Wl,-E -L/usr/local/lib -Wl,--as-needed -o vim -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt Not sure, why the vartabs enabled Vim is actually smaller then the unpatched Vim. That is certainly unexpected, I might have messed something up. Not sure, I really need to get some sleep now :( BTW: maintaining that patch has been becoming a PITA since several changes to Vim happened in the past that I need to manually reapply to the patch (e.g. the gui_beval.h -> beval.h rename some time ago). And I do not feel like rebasing that patch to every new Vim patch again, so I usually do it only once I notice that it does not apply anymore. Best, Christian -- -- 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 vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.