Skip to main content

No project description provided

Project description

Pamuk Gaming Benchmark

Pamuk is a benchmark for online games. You can check out the performance results in the results folder, or run in yourself

Research

Pamuk is the successor of Yardstick. Together, these tools have been used in the following scientific publications:

  • Pamuk
  • Meterstick
  • Yardstick

TODO

  • Wait for server to be ready
  • Make sure RCON can connect to PaperMC

Code Documentation

An Example To Get Started

import yardstick as ys
from ys import provisioning
from ys import monitoring
from ys.games.minecraft import server, workloads

prov = provisioning.Das()
monitor = monitoring.Prometheus()
mc = server.Vanilla()
workload = workloads.TeleportRandom()

nodes = prov.reserve(5)
monitor.deploy(nodes)
mc.deploy(nodes[0])
workload.deploy(nodes[1:])

mc.wait_for_ready()
workload.start()

workload.cleanup()
mc.cleanup()
monitor.cleanup()

prov.release(nodes)

Providers

Nodes are provisioned through providers such as the DAS5/6. They implement the following interface:

class Provider:
    def provision(nodes=0) -> Reservation
    def release(r: Reservation) -> None
class Run:
    def assign_roles(nodes, roles) -> None

Experiment

class Experiment:
    def setup(nodes) -> None
    def teardown(nodes) -> None

Games

Pamuk benchmarks the performance of games. How each game is implemented in Pamuk depends on the game in question, but Pamuk offers helper classes for Runnables such as servers and clients, which are common concepts in multiplayer games.

Runnable

class Runnable:
    def before(nodes) -> None
    def before_each(nodes) -> None
    def start(nodes) -> None
    def stop(nodes) -> None
    def after_each(nodes) -> None
    def after(nodes) -> None

Workload

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yardstick_benchmark-0.1.0.tar.gz (383.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yardstick_benchmark-0.1.0-py3-none-any.whl (404.4 kB view details)

Uploaded Python 3

File details

Details for the file yardstick_benchmark-0.1.0.tar.gz.

File metadata

  • Download URL: yardstick_benchmark-0.1.0.tar.gz
  • Upload date:
  • Size: 383.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.19 Linux/4.18.0-348.2.1.el8_5.x86_64

File hashes

Hashes for yardstick_benchmark-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6182aec86b238db7cff7d515049309e1f238e84e9d6bde168ba1e56debb51d59
MD5 99dd0e2fe904ccf758b8915692f7cf4d
BLAKE2b-256 7ac4046fdd46cbad7cde5afc03cc1123aa0ee4d33d6f2c5247038a0afbf4d25d

See more details on using hashes here.

File details

Details for the file yardstick_benchmark-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: yardstick_benchmark-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 404.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.19 Linux/4.18.0-348.2.1.el8_5.x86_64

File hashes

Hashes for yardstick_benchmark-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2669a97c3d367776e3069c6b8e3ef141d2506615422e87409fa1e00ee6ee19b0
MD5 6f014d0806f25957febb2b7ad0f3b3a3
BLAKE2b-256 c169ad64cfad662a190f490506a3ea8beaafa5c943b7932f3acd6ac6c1098411

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page