Commit 4f4d853e5a672ea469a2532774867305712b418e

Stefan Sperling 2021-10-24T09:41:04

try only 3 delta base candidates instead of 10 to speed up packing Tests by kn, thomas_adam and myself made on various repositories indicate that 3 is a good choice. Tyring 10 deltas is much slower and does not result in significantly smaller pack files.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/lib/pack_create.c b/lib/pack_create.c
index c2fe31d..b5f4f55 100644
--- a/lib/pack_create.c
+++ b/lib/pack_create.c
@@ -261,7 +261,7 @@ pick_deltas(struct got_pack_meta **meta, int nmeta, int nours,
 	struct got_raw_object *raw = NULL, *base_raw = NULL;
 	struct got_delta_instruction *deltas = NULL, *best_deltas = NULL;
 	int i, j, size, best_size, ndeltas, best_ndeltas;
-	const int max_base_candidates = 10;
+	const int max_base_candidates = 3;
 	int outfd = -1;
 
 	qsort(meta, nmeta, sizeof(struct got_pack_meta *), delta_order_cmp);