rofils de benchmark personnalisés
Les profils personnalisés sont des recettes YAML décrivant un run de benchmark reproductible. Ils résident dans `plugins/VoxelBench/custom_benchmarks/`, sont livrés avec trois profils préconfigurés, et se comportent exactement comme un `/bench start` du point de vue opérateur.
Démarrage rapide
-
Lister les profils fournis :
/bench custom list -
Inspecter un profil :
/bench custom info standard -
Lancer un profil :
/bench custom run standard -
Cloner & ajuster : copier
standard.ymlversmon-profil.yml, modifier les paramètres voulus, puis :/bench custom reload /bench custom run mon-profil
Aucun redémarrage requis — reload relit l'intégralité du dossier.
Profils fournis
| Fichier | But |
|---|---|
standard.yml | Miroir de /bench start. Clonez-le pour "forker" la baseline canonique. |
showcase.yml | Run plus long, plus adapté aux démos. |
example.yml | Référence richement commentée. À lire avant d'écrire le vôtre. |
Schéma YAML
# Nom affiché dans /bench custom list et dans les rapports.
name: "Mon benchmark perso"
# Description en une ligne (apparaît dans /bench custom info).
description: "Spécialisé pour serveurs redstone-intensifs."
# Métadonnées optionnelles — affichées dans les rapports partagés.
author: "VotreNom"
version: 1
tags: [redstone, technical-mc]
# Quand true, le rapport du run est soumis au backend.
# Quand false (défaut), les résultats restent locaux.
submit: false
# Options globales du run.
options:
# Quand true (défaut), utiliser un monde plat jetable frais par run.
# Mettre à false pour utiliser le target-world épinglé
# (voir /bench world set).
auto-temp-world: true
# Liste ordonnée de tests. Chaque entrée doit référencer un ID de test
# existant dans le registry (intégré ou d'extension). Lancez
# /bench tests list pour voir tous les IDs disponibles.
tests:
- id: redstone
params:
pistonCount: 3200
durationSeconds: 60
- id: chunkLoading
params:
chunksToLoad: 10000
dispersedZones: 16
- id: singleCoreBenchmark
params:
durationSeconds: 30
Référence des paramètres
Les paramètres acceptés par chaque test sont dérivés de ses ParamSpec
déclarés. Pour voir ce qu'un test accepte :
/bench custom info <nom-profil>
…ou pour une inspection ad-hoc :
/bench test <id> <TAB>
L'auto-complétion montre les noms de paramètres, leurs types et leurs valeurs par défaut.
Partage de profils
Un profil n'est qu'un fichier YAML — partagez-le via Pastebin, gist,
pièce jointe Discord, ce que vous voulez. Le backend calcule un
profileHash sur la recette canonique, donc deux opérateurs qui
lancent le même YAML obtiennent des résultats directement comparables
dans les rapports partagés.
IDs de tests intégrés (sous-ensemble)
| Catégorie | IDs |
|---|---|
| Matériel | disk, network, memory, singleCoreBenchmark, multiCore |
| Chunks & terrain | chunkLoading, chunkTicking, worldSave, lightingUpdate |
| Entités | mobSpawn, mobAI, mobPathfinding, villager, combatSimulation |
| Mécanismes | redstone, hopper, explosion, blockPhysics, liquidPhysics, tickingTileEntity, boneMealGrowth |
| Autres | collision |
Lancez /bench tests list pour le catalogue complet en direct, y
compris les tests d'extension enregistrés sur votre serveur.
Pièges fréquents
- Faute de frappe dans un ID de test →
/bench custom infomarque l'entrée fautive. Le run refuse de démarrer tant que chaque entrée n'est pas valide. - Paramètre numérique hors plage → clampé sur la plage déclarée par le test, avec un avertissement à l'auteur. Le run se poursuit.
auto-temp-world: falsesans monde épinglé → le run refuse de démarrer. Soit épinglez un monde avec/bench world set, soit remettez l'option àtrue.