Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance benchmarking #9

Open
mgree opened this issue Jun 17, 2021 · 2 comments
Open

Performance benchmarking #9

mgree opened this issue Jun 17, 2021 · 2 comments
Labels

Comments

@mgree
Copy link
Owner

mgree commented Jun 17, 2021

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 mgree added the research label Jun 17, 2021
@mgree
Copy link
Owner Author

mgree commented Jul 3, 2021

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
Copy link
Owner Author

mgree commented Oct 1, 2021

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 mgree mentioned this issue Oct 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant