Skip to main content

xemu-perf-tester

Orchestrates running xemu benchmarks using xemu-perf-tests.

Installation

Install from Pypi

pip install xemu-perf-tester

Use

Running benchmarks

Run xemu-perf-run -h for detailed information on executing the benchmarks.

One time setup: xemu-perf-run --import-install <path_to_your_xemu.toml_file>

Test the latest xemu with the latest benchmark release

The default behavior is to download the latest xemu-perf-tests iso and xemu release and run the benchmarks using the OpenGL backend. You may pass the --use-vulkan parameter to use Vulkan instead.

xemu-perf-run

Testing against specific xemu and/or xemu-perf-tests releases

xemu-perf-run \
  --xemu-tag v0.8.7 \
  --test-tag v12345

--xemu_tag accepts:

  • a xemu release version (e.g., v0.8.92)
  • the URL of a build action (e.g., https://github.com/xemu-project/xemu/actions/runs/16152580613)
  • the URL of a pull request (PR) (e.g., https://github.com/xemu-project/xemu/pull/2329).

The action and PR options additionally require you to pass a GitHub token using the --github-token argument. See --help for details.

Reusing existing xemu-perf-tests ISO and/or xemu binary

You can use the --iso and --xemu flags to specify existing artifacts. This will skip the automated check against the GitHub API for the latest tagged artifacts.

xemu-perf-run \
  --xemu ~/bin/xemu \
  --iso ~/special_perf_tests.xiso

Using a development build of xemu on macOS

Some extra flags are needed to utilize a development build of xemu. You will need to set the DYLD_FALLBACK_LIBRARY_PATH environment variable to point at a valid xemu.app binary and will need to pass the --no-bundle argument to xemu-perf-run to prevent it from attempting to find a xemu.app bundle itself.

DYLD_FALLBACK_LIBRARY_PATH=/path/to/xemu_repo/dist/xemu.app/Contents/Libraries/arm64 \
xemu-perf-run \
  --xemu /path/to/xemu_repo/build/qemu-system-i386 \
  --no-bundle

Test configuration

Conditional block listing

Tests that cannot be executed on certain versions of xemu may be disallowed using a blocklist.json file specified using the --block-list-file command.

The file provides a simple list of JSON objects, each specifying a set of one or more conditions and one or more test names to be disabled if the condition is satisfied.

For example, to disable the entire "High vertex count" suite on xemu versions less than 0.8.54:

{
  "rules": [
    {
      "conditions": [
        "$version < 0.8.54"
      ],
      "skipped": [
        "High vertex count::"
      ]
    }
  ]
}

"conditions" may use the $version variable to test against the runtime reported version of xemu.

"skipped" entries are fully qualified test names, with anything before "::" referring to a test suite and everything after to a specific test. These are exact matches, so "Suite::Test" will only disable the test literally named " Suite::Test" but would still allow "Suite::Test1" to run. The trailing "::" may be omitted when disallowing an entire test suite. For example "Suite::" is equivalent to "Suite", both will disable all tests in the "Suite" suite.

Metadata

Release files for xemu-perf-tester 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xemu-perf-tester 0.3.5
File Size Uploaded
xemu_perf_tester-0.3.5.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xemu-perf-tester 0.3.5
File Interpreter ABI Platform
xemu_perf_tester-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 26.5 kB

Release files / xemu_perf_tester-0.3.5.tar.gz

Download URL xemu_perf_tester-0.3.5.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ca79a834f281cdd260d2de9b9276a1d63e217da12b8194a1a0575cdb61e8ef3b
BLAKE2b-256 checksum
How to use checksums
1ad3ca319d88b5dbde65148c4a930574ab7b2088eb7df7e33acebf78f439653f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / xemu_perf_tester-0.3.5-py3-none-any.whl

Download URL xemu_perf_tester-0.3.5-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6cd92245af0c2e26c0ff10c1be66a44693067b2d9ef05301f942beb7addc150b
BLAKE2b-256 checksum
How to use checksums
5da815b2e80c480fbb5a9d173710d601888654a5c3768a782a8930c1478261ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page