On 7/11/2022 7:05 PM, Victoria Dye wrote: > Derrick Stolee wrote: >> On 6/29/2022 12:58 PM, Victoria Dye via GitGitGadget wrote: >>> From: Victoria Dye <vdye@xxxxxxxxxx> >> It can be helpful to include the details of what steps to take to compile and >> test the 'scalar' executable. That documentation will then be updated when >> Scalar moves out of contrib/. >> > > As part of the move out of 'contrib/', I was planning on having Scalar built > and installed the same as any built-in (albeit in 'bin/' - like 'gitk', > 'git-cvsserver', etc. - rather than 'libexec/git-core'). In that case, there > won't be any special steps needed to build/install 'scalar', so any > instructions here would be temporary. I could include those instructions in > the meantime, but with Scalar incomplete, I'm not sure whether that would be > valuable. Ok, I think you don't need those extra steps if the plan is to compile and test by default. I think we might want to consider the installation steps and whether or not distributors will want to have an opt-in option for the scalar binary at that point. Fine to leave that until later. >> You mention "performant" which makes me think that performance tests are intended >> to be part of this change. It makes me think it would be interesting to have our >> existing performance tests create a mode where they compare a "vanilla" Git repo >> to one registered with Scalar, but otherwise runs the same tests already in the >> t/perf/ test scripts. This is a wide aside so feel free to ignore me. >> > > This is a really interesting idea! My original plan was to add some basic > tests around the operations 'scalar' should (directly or indirectly) speed > up. I think I'll still need to do that anyway (e.g., for things like 'scalar > clone' vs 'git clone'), but I'll also try to find a (repeatable) way to > compare standard repo vs. Scalar enlistment performance in the existing perf > tests. It's tricky since our performance tests don't clone across a network boundary, but maybe we could create a new class of tests to operate against a Git server specified by the tester. Definitely out of scope for this series. Thanks, -Stolee