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 <c...@256bit.org>
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 <c...@256bit.org>
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui