Keine Beschreibung

Snej69420 7ea3322f66 translation benchmarks and colour matching plots vor 5 Monaten
benchmarks c2a70e3f0d simpler plotting and manually assignable colours + line&marker type vor 5 Monaten
pythonpdevs2.4.2 2cb252faa6 actually fixed selector for DCP implementation vor 7 Monaten
web_service 08af1d8473 Minor fixes in Dockerfile vor 6 Jahren
.gitignore d1a7613532 updated git ignore vor 6 Monaten
Agents benchmarks.md 7ea3322f66 translation benchmarks and colour matching plots vor 5 Monaten
Dockerfile 03aa3eac66 Upgrading xDEVS rust version vor 3 Jahren
PyPDEVS benchmarks.md fdc1413039 slightly delusional HOmod benchmark for parallel DEVS vor 5 Monaten
README.md d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing vor 9 Monaten
clean.sh 0059d5437b Added all the submodules again vor 3 Jahren
plotting Agents.md 7ea3322f66 translation benchmarks and colour matching plots vor 5 Monaten
plotting PyPDEVS.md a71a08ca4e colour matching plots vor 5 Monaten
pyproject.toml d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing vor 9 Monaten
results_analysis.py 18825c4992 Script for simple analysis and regular flush vor 3 Jahren
setup.sh d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing vor 9 Monaten
uv.lock d6ee4ea44c Added memory usage measuring and reconfigured the cli, updated the readme with a 'guide' on how to run the damn thing vor 9 Monaten

README.md

devstone-comparative

Here you can find several DEVStone implementations for comparing the main DEVS engines.

Adapted to benchmark Dynamic Structure DEVS

Running the pypdevs benchmarks

First select a simulator:

  • classic
  • parallel
  • dynamic
    • classic
    • number of models to generate per cycle
  • minimal

Shared parameters:

  • path: where the results will be stored
  • filename:
  • append: will append the data to the output file instead of overwriting it
  • max width/depth: max model width/depth
  • width/depth step size:
    • determines how fast the width/depth increases to the max specified value
    • the simulation will be run for every width and depth combination
    • the step size must be a divider of the max width/depth
    • if not provided the model will run only the max width/depth
  • repetitions: number of times the exact same simulation will be repeated
  • output
  • memory: Measures the memory usage of a simulation.
  • interval: The interval at which measurements are taken.

  • model structure: each simulator has its own set of models

    • LI, HI, HO, HOmod (classic, parallel, dynamic, minimal)
    • HI2LI, LI2HI, dLI, dHI (dynamic)

For each simulation the parameters and the creation, setup and simulation time are saved to a csv file.

plotting

Measuring Memory

Run the following command, the width and depth step size parameters should be left out, to measure the memory usage of a single simulation, for the same reason the repetitions should be set to one.

uv run testPyPDEVS.py -md 100 -mw 100 -r 1 -O dynamic -ms dLI & PID=$!; python -m procpath record -i 0.1 -f stat -d output.sqlite --stop-without-result "$..children[?(@.stat.pid == $PID)]"
procpath plot -d output.sqlite -f out.svg -q rss