Files
godot-benchmarks/web
Hugo Locurcio dd91e37bac Add web interface for tracking benchmark results over time (#59)
This provides a web interface generated with Hugo for tracking
benchmark results over time. Automatic dark theme support is
provided using water.css.

Benchmarks are run daily on a dedicated server with the `master` branch
of Godot compiled from source on that server, so that build time and
memory usage during the build can also be tracked over time.
Binary size as well as startup/shutdown time and memory usage
from an empty project are also measured.
2024-04-18 15:53:55 +02:00
..

Web interface for benchmark results

This website is built with the Hugo static site generator. It's designed to work exclusively with the run-benchmarks.sh script, which runs benchmarks on a dedicated server with various GPU models.

How it works

  • Using the run-benchmarks.sh script, benchmark data is collected and saved to a single JSON file for each engine commit, with 5 runs:
    • CPU (debug template)
    • CPU (release template)
    • GPU (AMD, release template)
  • Hugo is used to create a homepage listing recent benchmarked commits, plus a single page per engine commit. This allows linking to individual benchmarked commit in a future-proof way.
  • ApexCharts is used to draw graphs on the homepage.
  • Water.css is used to provide styling, including automatic dark theme support.

Building

Development

  • Create JSON data or fetch existing JSON data from the live website.
  • Save this JSON data to the content folder with the following naming convention: YYYY-MM-DD_hash.json where hash is a 9-character Git commit hash of the Godot build used (truncated from a full commit hash).
  • Run hugo server.

Production

  • Follow the same steps as in the Development section above.
  • Run hugo --minify.