Skip to content

Commit ad635e8

Browse files
committed
Merge branch 'nd/pack-objects-pack-struct'
"git pack-objects" needs to allocate tons of "struct object_entry" while doing its work, and shrinking its size helps the performance quite a bit. * nd/pack-objects-pack-struct: ci: exercise the whole test suite with uncommon code in pack-objects pack-objects: reorder members to shrink struct object_entry pack-objects: shrink delta_size field in struct object_entry pack-objects: shrink size field in struct object_entry pack-objects: clarify the use of object_entry::size pack-objects: don't check size when the object is bad pack-objects: shrink z_delta_size field in struct object_entry pack-objects: refer to delta objects by index instead of pointer pack-objects: move in_pack out of struct object_entry pack-objects: move in_pack_pos out of struct object_entry pack-objects: use bitfield for object_entry::depth pack-objects: use bitfield for object_entry::dfs_state pack-objects: turn type and in_pack_type to bitfields pack-objects: a bit of document about struct object_entry read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean
2 parents c67de74 + f6a5576 commit ad635e8

16 files changed

+656
-167
lines changed

Documentation/config.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2472,6 +2472,7 @@ pack.window::
24722472
pack.depth::
24732473
The maximum delta depth used by linkgit:git-pack-objects[1] when no
24742474
maximum depth is given on the command line. Defaults to 50.
2475+
Maximum value is 4095.
24752476

24762477
pack.windowMemory::
24772478
The maximum size of memory that is consumed by each thread
@@ -2508,7 +2509,8 @@ pack.deltaCacheLimit::
25082509
The maximum size of a delta, that is cached in
25092510
linkgit:git-pack-objects[1]. This cache is used to speed up the
25102511
writing object phase by not having to recompute the final delta
2511-
result once the best match for all objects is found. Defaults to 1000.
2512+
result once the best match for all objects is found.
2513+
Defaults to 1000. Maximum value is 65535.
25122514

25132515
pack.threads::
25142516
Specifies the number of threads to spawn when searching for best

Documentation/git-pack-objects.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ base-name::
9696
it too deep affects the performance on the unpacker
9797
side, because delta data needs to be applied that many
9898
times to get to the necessary object.
99-
The default value for --window is 10 and --depth is 50.
99+
+
100+
The default value for --window is 10 and --depth is 50. The maximum
101+
depth is 4095.
100102

101103
--window-memory=<n>::
102104
This option provides an additional limit on top of `--window`;

Documentation/git-repack.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ other objects in that pack they already have locally.
9090
space. `--depth` limits the maximum delta depth; making it too deep
9191
affects the performance on the unpacker side, because delta data needs
9292
to be applied that many times to get to the necessary object.
93-
The default value for --window is 10 and --depth is 50.
93+
+
94+
The default value for --window is 10 and --depth is 50. The maximum
95+
depth is 4095.
9496

9597
--threads=<n>::
9698
This option is passed through to `git pack-objects`.

0 commit comments

Comments
 (0)