commit 6c0788afee08aced16a41b2803af857f2da86ec9 from: Stefan Sperling via: Thomas Adam date: Tue May 31 23:14:47 2022 UTC shrink struct got_pack_meta a bit by removing the have_reused_delta flag This flag can be expressed as m->reused_delta_offset != 0 because all deltas in valid pack files will be written at a non-zero offset. We allocate a huge number of these structs during packing, so every little bit helps. commit - 1569c56d2b93873d833c0c6ef1d0cc475042367b commit + 6c0788afee08aced16a41b2803af857f2da86ec9 blob - 85193d78da56d79a1b3218972933af866b15f376 blob + ca8ad3c90642f5ac69af9f9bd7e2796e0bc287e9 --- lib/pack_create.c +++ lib/pack_create.c @@ -85,7 +85,6 @@ struct got_pack_meta { off_t delta_compressed_len; /* encoded+compressed delta length */ int nchain; - int have_reused_delta; off_t reused_delta_offset; /* offset of delta in reused pack file */ struct got_object_id *base_obj_id; @@ -133,6 +132,7 @@ clear_meta(struct got_pack_meta *meta) meta->delta_buf = NULL; free(meta->base_obj_id); meta->base_obj_id = NULL; + meta->reused_delta_offset = 0; } static void @@ -584,7 +584,6 @@ recv_reused_delta(struct got_imsg_reused_delta *delta, m->delta_offset = delta->delta_out_offset; m->prev = base; m->size = delta->result_size; - m->have_reused_delta = 1; m->reused_delta_offset = delta->delta_offset; m->base_obj_id = got_object_id_dup(&delta->base_id); if (m->base_obj_id == NULL) @@ -1921,7 +1920,7 @@ add_meta_idset_cb(struct got_object_id *id, void *data struct got_pack_meta *m = data; struct got_pack_metavec *v = arg; - if (m->have_reused_delta) + if (m->reused_delta_offset != 0) return NULL; return add_meta(m, v);