Re: [PATCH] commit.h: rearrange 'index' to shrink struct commit

2018-05-12 Thread Junio C Hamano
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

2018-05-11 Thread Nguyễn Thái Ngọc Duy
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