-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Specification
After refactoring the git domain in #709 and simpifying the git code significantly. I noticed that the performance when cloning wasn't that much improved. This was purely a vibes based observation so we need to add benchmarks to for the git domain to determine performance changes later down the line. This is very important so we can compare improvements when updating the efs and js-db repos to be more performant.
Benchmarks will be added for each git/http.ts and git/utils.ts function to get an idea of which parts do the most processing. We will also add a full integration benchmark for doing an clone and pull example using isomorphic-git.
Each benchmark will compare the following where apropriate.
- Running using
fs. - Running using
efs. - Running over the
RPC. - Running over
RPCANDefs.
We may not need to cover every function or example but being able to compare baseline fs with efs and rpc examples would be good for determining where the slowdowns are. I'm already pretty sure it's the db and efs being the core source of the slowdown.
Additional context
- Related: Review and Refactor of
git/utils.tsfor Serving Vault Git Repositories #298 - Related: Refactoring
gitdomain to use async generators, remove readable-stream, simplify utilities #709
Tasks
- Create benchmarks for each relevant
gitdomain function and generator. - Ensure we test each case of using the
fs,efsrpcand the combo ofefs+rpc.