Skip to content

Draft: Benchmark framework#208

Draft
tewaro wants to merge 1 commit intomainfrom
tewaro/initial-benchmark-framework
Draft

Draft: Benchmark framework#208
tewaro wants to merge 1 commit intomainfrom
tewaro/initial-benchmark-framework

Conversation

@tewaro
Copy link
Copy Markdown
Contributor

@tewaro tewaro commented Apr 3, 2026

This PR has the docs to define the benchmarking framework. please see benchmarks/README.md for more information.

It still requires significant cleanup but things are working. Overtime the full docker hermetic configuration will make it into benchmarks/flake.nix and things will get more stable.

This PR has the docs to define the benchmarking framework.
please see benchmarks/README.md for more information.

It still requires significant cleanup but things are working.
Overtime the full docker hermetic configuration will make it into
benchmarks/flake.nix and things will get more stable.
Comment thread benchmarks/README.md
Comment on lines +20 to +21
│ │ ├── small.sh # Defines a shell script for running -- use IN_ASTERINAS env var
│ │ └── big.sh
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we might want to use a similar structure to asterinas where we have host and run sh in a folder or something

Copy link
Copy Markdown
Contributor

@arthurp arthurp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial comments. Once I have a slightly better understanding, I will try to setup filebench using this.

  • I don't see how to actually run the nix based benchmarks.

Comment on lines +7 to +15
memcached-src = {
url = "https://memcached.org/files/memcached-1.6.32.tar.gz"; # version: 1.6.32
flake = false;
};

libmemcached-src = {
url = "https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz"; # version: 1.0.18
flake = false;
};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this duplicated here and in the parent nix file? (I don't know enough about nix to know if this is normal and why it might be done.)

Comment thread benchmarks/README.md
│ │ ├── small.sh # Defines a shell script for running -- use IN_ASTERINAS env var
│ │ └── big.sh
│ └── p90 # folder defines a trackable metric
│ └── filter.awk # awk filter script
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not use awk. I know it's actually pretty good for this. But most people don't know it (including me). We probably actually want to use Python that can eventually be loaded as a module which generates dataframes if needed. Using python also means we can easily have all the metrics in one loader file which only processes the input file once and allows easy sharing of the parser or processing code.

Comment thread test/Makefile
Comment on lines -135 to +136
@cp -r /usr/local/memcached $@
@mkdir -p $@/memcached/bin
@cp -L $$(which memcached) $@/memcached/bin/memcached
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the change of location? And how does this pick up the nix based build? Or does it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants