|  | #!/bin/sh | 
|  |  | 
|  | test_description='Test operations that emphasize the delta base cache. | 
|  |  | 
|  | We look at both "log --raw", which should put only trees into the delta cache, | 
|  | and "log -Sfoo --raw", which should look at both trees and blobs. | 
|  |  | 
|  | Any effects will be emphasized if the test repository is fully packed (loose | 
|  | objects obviously do not use the delta base cache at all). It is also | 
|  | emphasized if the pack has long delta chains (e.g., as produced by "gc | 
|  | --aggressive"), though cache is still quite noticeable even with the default | 
|  | depth of 50. | 
|  |  | 
|  | The setting of core.deltaBaseCacheLimit in the source repository is also | 
|  | relevant (depending on the size of your test repo), so be sure it is consistent | 
|  | between runs. | 
|  | ' | 
|  | . ./perf-lib.sh | 
|  |  | 
|  | test_perf_large_repo | 
|  |  | 
|  | # puts mostly trees into the delta base cache | 
|  | test_perf 'log --raw' ' | 
|  | git log --raw >/dev/null | 
|  | ' | 
|  |  | 
|  | test_perf 'log -S' ' | 
|  | git log --raw -Sfoo >/dev/null | 
|  | ' | 
|  |  | 
|  | test_done |