Re: [PATCH 6/8] t/perf: add Scalar performance tests
- From
Victoria Dye <vdye@github.com>
- Date
- Sep 1, 2022, 16:21 UTC
- Message-ID
- <86b7b9a3-8950-da9c-eae1-19ddb22456ec@github.com>
- In-Reply-To
- <586fc6ca-b699-14a9-c5a1-10323a1cde0c@github.com>
Victoria Dye wrote:
Show 52 quoted lines
> Johannes Schindelin wrote:
>> Hi Victoria,
>>
>> On Wed, 31 Aug 2022, Victoria Dye via GitGitGadget wrote:
>>
>>> [...]
>>> +
>>> +test_compare_perf () {
>>> + command="$@"
>>> + test_perf "$command (scalar)" "
>>> + (
>>> + cd scalar-clone/src &&
>>> + $command
>>> + )
>>> + "
>>> +
>>> + test_perf "$command (non-scalar)" "
>>> + (
>>> + cd git-clone &&
>>> + $command
>>> + )
>>> + "
>>> +}
>>> +
>>> +test_compare_perf git status
>>> +test_compare_perf test_commit --append --no-tag A
>>
>> Given the small numbers presented in the commit message, I suspect that
>> even so much as running the command in a subshell might skew the timings
>> at least on Windows, where subshells are very, very expensive.
>>
>> Given that both `git` and `test_commit` understand the `-C <directory>`
>> syntax, this variant would resolve my concern:
>>
>> test_compare_perf () {
>> command=$1
>> shift
>> args="$*"
>>
>> test_perf "$command (scalar)" "
>> $command -C scalar-clone/src $args
>> "
>>
>> test_perf "$command (non-scalar)" "
>> $command -C git-clone $args
>> "
>> }
>>
>> What do you think?
>
> Makes sense to me! Although, out of curiosity, is there a reason you prefer
> "$1 -> shift -> $*" over '$1' and '$@'? Whoops, I completely misread your snippet; the 'shift' is necessary to separate the '$command' out so that we can inject '-C'.
Thanks!
Show 5 quoted lines
> >> >> Ciao, >> Dscho >