Patch 8.0.1590
Problem: Padding in list type wastes memory.
Solution: Reorder struct members to optimize padding. (Dominique Pelle,
closes #2704)
Files: src/structs.h
*** ../vim-8.0.1589/src/structs.h 2018-03-04 20:14:08.256064288 +0100
--- src/structs.h 2018-03-08 21:46:16.602881941 +0100
***************
*** 1260,1280 ****
/*
* Structure to hold info about a list.
*/
struct listvar_S
{
listitem_T *lv_first; /* first item, NULL if none */
listitem_T *lv_last; /* last item, NULL if none */
- int lv_refcount; /* reference count */
- int lv_len; /* number of items */
listwatch_T *lv_watch; /* first watcher, NULL if none */
- int lv_idx; /* cached index of an item */
listitem_T *lv_idx_item; /* when not NULL item at index "lv_idx"
*/
- int lv_copyID; /* ID used by deepcopy() */
list_T *lv_copylist; /* copied list used by deepcopy() */
- char lv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
list_T *lv_used_next; /* next list in used lists list */
list_T *lv_used_prev; /* previous list in used lists list */
};
/*
--- 1260,1281 ----
/*
* Structure to hold info about a list.
+ * Order of members is optimized to reduce padding.
*/
struct listvar_S
{
listitem_T *lv_first; /* first item, NULL if none */
listitem_T *lv_last; /* last item, NULL if none */
listwatch_T *lv_watch; /* first watcher, NULL if none */
listitem_T *lv_idx_item; /* when not NULL item at index "lv_idx"
*/
list_T *lv_copylist; /* copied list used by deepcopy() */
list_T *lv_used_next; /* next list in used lists list */
list_T *lv_used_prev; /* previous list in used lists list */
+ int lv_refcount; /* reference count */
+ int lv_len; /* number of items */
+ int lv_idx; /* cached index of an item */
+ int lv_copyID; /* ID used by deepcopy() */
+ char lv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
};
/*
*** ../vim-8.0.1589/src/version.c 2018-03-07 23:02:29.594336432 +0100
--- src/version.c 2018-03-08 21:46:25.166824549 +0100
***************
*** 768,769 ****
--- 768,771 ----
{ /* Add new patch number below this line */
+ /**/
+ 1590,
/**/
--
Our job was to build a computer information system for the branch banks. We
were the perfect people for the job: Dean had seen a computer once, and I had
heard Dean talk about it.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- [email protected] -- 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 ///
--
--
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.