Re: [PATCH] commit.h: rearrange 'index' to shrink struct commit
Nguyễn Thái Ngọc Duy writes: > On linux 64-bit architecture, pahole finds that there's a 4 bytes > padding after 'index'. Moving it to the end reduces this struct's size > from 72 to 64 bytes (because of another 4 bytes padding after > graph_pos). On linux 32-bit, the struct size remains 52 bytes like > before. > > Signed-off-by: Nguyễn Thái Ngọc Duy > --- > commit.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/commit.h b/commit.h > index e57ae4b583..fd1cbe7263 100644 > --- a/commit.h > +++ b/commit.h > @@ -19,11 +19,11 @@ struct commit_list { > struct commit { > struct object object; > void *util; > - unsigned int index; > timestamp_t date; > struct commit_list *parents; > struct tree *tree; > uint32_t graph_pos; > + unsigned int index; > }; > > extern int save_commit_buffer; Quite nice.
[PATCH] commit.h: rearrange 'index' to shrink struct commit
On linux 64-bit architecture, pahole finds that there's a 4 bytes padding after 'index'. Moving it to the end reduces this struct's size from 72 to 64 bytes (because of another 4 bytes padding after graph_pos). On linux 32-bit, the struct size remains 52 bytes like before. Signed-off-by: Nguyễn Thái Ngọc Duy --- commit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commit.h b/commit.h index e57ae4b583..fd1cbe7263 100644 --- a/commit.h +++ b/commit.h @@ -19,11 +19,11 @@ struct commit_list { struct commit { struct object object; void *util; - unsigned int index; timestamp_t date; struct commit_list *parents; struct tree *tree; uint32_t graph_pos; + unsigned int index; }; extern int save_commit_buffer; -- 2.17.0.705.g3525833791