| 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='Test operations that emphasize the delta base cache. |
| 4 | |
| 5 | We look at both "log --raw", which should put only trees into the delta cache, |
| 6 | and "log -Sfoo --raw", which should look at both trees and blobs. |
| 7 | |
| 8 | Any effects will be emphasized if the test repository is fully packed (loose |
| 9 | objects obviously do not use the delta base cache at all). It is also |
| 10 | emphasized if the pack has long delta chains (e.g., as produced by "gc |
| 11 | --aggressive"), though cache is still quite noticeable even with the default |
| 12 | depth of 50. |
| 13 | |
| 14 | The setting of core.deltaBaseCacheLimit in the source repository is also |
| 15 | relevant (depending on the size of your test repo), so be sure it is consistent |
| 16 | between runs. |
| 17 | ' |
| 18 | . ./perf-lib.sh |
| 19 | |
| 20 | test_perf_large_repo |
| 21 | |
| 22 | # puts mostly trees into the delta base cache |
| 23 | test_perf 'log --raw' ' |
| 24 | git log --raw >/dev/null |
| 25 | ' |
| 26 | |
| 27 | test_perf 'log -S' ' |
| 28 | git log --raw -Sfoo >/dev/null |
| 29 | ' |
| 30 | |
| 31 | test_done |