ffs icon indicating copy to clipboard operation
ffs copied to clipboard

Performance benchmarking

Open mgree opened this issue 3 years ago • 2 comments

Timing: use https://crates.io/crates/tracing-timing?

Microbenchmarks

  • read
  • write

Macrobenchmarks

  • tasks?

Compare against

  • FS (various hdd configs) as baseline
  • ramdisk as memory FS baseline
  • jq
  • js
  • python
  • native rust

mgree avatar Jun 17 '21 16:06 mgree

To FUSE or Not to FUSE: Performance of User-Space File Systems for background data on FUSE performance.

High Velocity Kernel File Systems with Bento for a Rust-y take on FUSE (direct VFS bindings in C call a safe FS API in Rust)

mgree avatar Jul 03 '21 15:07 mgree

I can imagine several abstract benchmarks:

  • [ ] Time to read a single file in the root
  • [ ] Time to read a single file nested (deeply/widely)
  • [ ] Time to read k randomly (predetermined) files out of N >> k files

Each of the above should also have writing/creation tests.

  • [ ] Time to sum every numeric entry in a large file (deep or wide)

And several benchmarks that could run on real data:

  • [ ] Time to sum every, e.g. cost entry in a long list of records
  • [ ] Time to find commits matching a given pattern from a GH dump
  • [ ] Time to generate, e.g., a GraphQL call or a build/CI script
  • [ ] Time to modify, e.g., a GraphQL call

mgree avatar Oct 01 '21 14:10 mgree