MatrixAI / Polykey

Polykey Core Library - Open Source Decentralized Secret Sharing System for Zero Trust Delegation of Authority
https://polykey.com
GNU General Public License v3.0
27 stars 4 forks source link

Adding benchmarks for `git` domain to `polykey` #717

Open tegefaulkes opened 2 weeks ago

tegefaulkes commented 2 weeks ago

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.

  1. Running using fs.
  2. Running using efs.
  3. Running over the RPC.
  4. Running over RPC AND efs.

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

Tasks

  1. Create benchmarks for each relevant git domain function and generator.
  2. Ensure we test each case of using the fs, efs rpc and the combo of efs+rpc.
linear[bot] commented 2 weeks ago

ENG-314 Adding benchmarks for `git` domain to `polykey`

CMCDragonkai commented 1 week ago

I remember seeing you did some benching recently on the development discord channel.

tegefaulkes commented 1 week ago

That was a part of working on this. I've shifted to focusing on other things for now since this is relatively lower priority.