# alexziskind1/machine_tests architecture

> Architecture diagram of the GitHub repository alexziskind1/machine_tests, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/alexziskind1/machine_tests
- Repository: https://github.com/alexziskind1/machine_tests

## Overview

This repository is a collection of independent performance experiments and benchmark utilities, not one integrated product. The clearest user workflow is to configure and run a benchmark, measure model or sorting performance, and inspect saved results or plots. Other branches cover battery-drain analysis, training examples, and small runtime demonstrations. Source excerpts support only a few cross-module links; unsampled capabilities are represented by their existing directory paths, without inferred pipelines.

Main entry points: [`ml/mlx_bencher/config_loader.py`](https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/config_loader.py) (MLX Config), [`ml/lmstudio_model_enum_test/main.py`](https://github.com/alexziskind1/machine_tests/blob/main/ml/lmstudio_model_enum_test/main.py) (LM Studio Models), [`cpp/sorting_v2/common.h`](https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/common.h) (Sort Algorithms), [`ml/auto_prompter/llm_performance_tester.py`](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/llm_performance_tester.py) (Prompt Tester)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_llm["LLM Benchmarks"]
  node_auto_basic["Prompt Tester"]
  node_auto_stats["Statistical Tester"]
  node_auto_config["Prompt Config<br/>[config_loader.py]"]
  node_auto_results["Prompt Results<br/>[latest_results.py]"]
  node_auto_analysis["Prompt Analysis<br/>[analyze_results.py]"]
  node_auto_plots["Prompt Plots<br/>[plot_results.py]"]
  node_llama_runner["llama-bench Runner"]
  node_llama_config["llama-bench Config<br/>[config_loader.py]"]
  node_llama_plots["llama-bench Plots"]
  node_mlx_runner["MLX Runner"]
  node_mlx_config["MLX Config<br/>[config_loader.py]"]
  node_mlx_plots["MLX Plots"]
  node_mlx_combined["Combined MLX Plots"]
  node_lmstudio["LM Studio Models<br/>[main.py]"]
end

subgraph group_sort["Sorting Benchmarks"]
  node_sort_single["Single-thread Sort<br/>[sort_single.cpp]"]
  node_sort_multi["Multi-thread Sort<br/>[sort_multi.cpp]"]
  node_sort_shared["Sort Algorithms<br/>[common.h]"]
  node_thread_walker["Thread Scaling Sort"]
  node_thread_analysis["Scaling Analysis<br/>[analyze.py]"]
end

subgraph group_analysis["Performance Analysis"]
  node_battery_clean["Battery Data Cleaning<br/>[clean_data.py]"]
  node_battery_drain["Battery Drain Plot"]
  node_battery_work["Work vs Battery Plot"]
  node_battery_eff["Efficiency Plot<br/>[plot_efficiency.py]"]
  node_disk_plot["Disk Speed Plot<br/>[plot_speed.py]"]
end

subgraph group_examples["Training and Demos"]
  node_mistral_train["Mistral Training"]
  node_mistral_infer["Mistral Inference<br/>[mistral_infer.py]"]
  node_pytorch_train["PyTorch Training"]
  node_tensorflow_train["TensorFlow Training"]
  node_mandelbrot_py["Python Mandelbrot<br/>[main.py]"]
  node_mandelbrot_cs["C&#35; Mandelbrot<br/>[Program.cs]"]
  node_speedometer["Browser Speedometer<br/>[speedometer.mjs]"]
end

node_user(("Experimenter"))
node_lmstudio_service{{"LM Studio"}}

node_user -->|"runs"| node_auto_basic
node_user -->|"runs"| node_auto_stats
node_user -->|"runs"| node_llama_runner
node_user -->|"runs"| node_mlx_runner
node_user -->|"runs"| node_lmstudio
node_auto_basic -->|"imports"| node_mlx_config
node_auto_stats -->|"imports"| node_mlx_config
node_llama_runner -->|"imports"| node_mlx_config
node_mlx_runner -->|"loads config"| node_mlx_config
node_sort_single -->|"uses"| node_sort_shared
node_sort_multi -->|"uses"| node_sort_shared
node_thread_walker -->|"uses"| node_sort_shared
node_lmstudio -->|"queries models"| node_lmstudio_service
node_lmstudio -->|"sends prompts"| node_lmstudio_service

click node_auto_basic "https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/llm_performance_tester.py"
click node_auto_stats "https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/statistical_llm_tester.py"
click node_auto_config "https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/config_loader.py"
click node_auto_results "https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/latest_results.py"
click node_auto_analysis "https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/analyze_results.py"
click node_auto_plots "https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/plot_results.py"
click node_llama_runner "https://github.com/alexziskind1/machine_tests/blob/main/ml/llama_bencher/llama_bench_runner.py"
click node_llama_config "https://github.com/alexziskind1/machine_tests/blob/main/ml/llama_bencher/config_loader.py"
click node_llama_plots "https://github.com/alexziskind1/machine_tests/blob/main/ml/llama_bencher/plot_llama_bench_results.py"
click node_mlx_runner "https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/mlx_bench_runner.py"
click node_mlx_config "https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/config_loader.py"
click node_mlx_plots "https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/plot_mlx_bench_results.py"
click node_mlx_combined "https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/plot_combined_bench_results.py"
click node_lmstudio "https://github.com/alexziskind1/machine_tests/blob/main/ml/lmstudio_model_enum_test/main.py"
click node_sort_single "https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/sort_single.cpp"
click node_sort_multi "https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/sort_multi.cpp"
click node_sort_shared "https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/common.h"
click node_thread_walker "https://github.com/alexziskind1/machine_tests/blob/main/cpp/thread_walker_sort/thread_walker_sort.cpp"
click node_thread_analysis "https://github.com/alexziskind1/machine_tests/blob/main/cpp/thread_walker_sort/analyze.py"
click node_battery_clean "https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/clean_data.py"
click node_battery_drain "https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/plot_battery_drain_over_time.py"
click node_battery_work "https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/plot_work_done_vs_battery.py"
click node_battery_eff "https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/plot_efficiency.py"
click node_disk_plot "https://github.com/alexziskind1/machine_tests/blob/main/diskcopy/plot_speed.py"
click node_mistral_train "https://github.com/alexziskind1/machine_tests/blob/main/ml/mistral_train/lima_train_mistral_fp16.py"
click node_mistral_infer "https://github.com/alexziskind1/machine_tests/blob/main/ml/mistral_train/mistral_infer.py"
click node_pytorch_train "https://github.com/alexziskind1/machine_tests/blob/main/ml/pytorch/training/train_resnet50_cifar10.py"
click node_tensorflow_train "https://github.com/alexziskind1/machine_tests/blob/main/ml/tensorflow/training/train_resnet50_cifar10.py"
click node_mandelbrot_py "https://github.com/alexziskind1/machine_tests/blob/main/benchmarksgame/python/mandelbrot/main.py"
click node_mandelbrot_cs "https://github.com/alexziskind1/machine_tests/blob/main/benchmarksgame/csharp/mandelbrot/MandelbrotCSharp/MandelbrotCSharp/Program.cs"
click node_speedometer "https://github.com/alexziskind1/machine_tests/blob/main/browser/speedometer/speedometer.mjs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auto_basic,node_auto_stats,node_auto_config,node_auto_results,node_auto_analysis,node_auto_plots,node_llama_runner,node_llama_config,node_llama_plots,node_mlx_runner,node_mlx_config,node_mlx_plots,node_mlx_combined,node_lmstudio toneBlue
class node_sort_single,node_sort_multi,node_sort_shared,node_thread_walker,node_thread_analysis toneAmber
class node_battery_clean,node_battery_drain,node_battery_work,node_battery_eff,node_disk_plot toneMint
class node_mistral_train,node_mistral_infer,node_pytorch_train,node_tensorflow_train,node_mandelbrot_py,node_mandelbrot_cs,node_speedometer toneRose
class node_user,node_lmstudio_service toneIndigo
```

## Components

### LLM Benchmarks

- [Prompt Tester](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/llm_performance_tester.py): `ml/auto_prompter/llm_performance_tester.py`
- [Statistical Tester](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/statistical_llm_tester.py): `ml/auto_prompter/statistical_llm_tester.py`
- [Prompt Config](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/config_loader.py): `ml/auto_prompter/config_loader.py`
- [Prompt Results](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/latest_results.py): `ml/auto_prompter/latest_results.py`
- [Prompt Analysis](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/analyze_results.py): `ml/auto_prompter/analyze_results.py`
- [Prompt Plots](https://github.com/alexziskind1/machine_tests/blob/main/ml/auto_prompter/plot_results.py): `ml/auto_prompter/plot_results.py`
- [llama-bench Runner](https://github.com/alexziskind1/machine_tests/blob/main/ml/llama_bencher/llama_bench_runner.py): `ml/llama_bencher/llama_bench_runner.py`
- [llama-bench Config](https://github.com/alexziskind1/machine_tests/blob/main/ml/llama_bencher/config_loader.py): `ml/llama_bencher/config_loader.py`
- [llama-bench Plots](https://github.com/alexziskind1/machine_tests/blob/main/ml/llama_bencher/plot_llama_bench_results.py): `ml/llama_bencher/plot_llama_bench_results.py`
- [MLX Runner](https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/mlx_bench_runner.py): `ml/mlx_bencher/mlx_bench_runner.py`
- [MLX Config](https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/config_loader.py): `ml/mlx_bencher/config_loader.py`
- [MLX Plots](https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/plot_mlx_bench_results.py): `ml/mlx_bencher/plot_mlx_bench_results.py`
- [Combined MLX Plots](https://github.com/alexziskind1/machine_tests/blob/main/ml/mlx_bencher/plot_combined_bench_results.py): `ml/mlx_bencher/plot_combined_bench_results.py`
- [LM Studio Models](https://github.com/alexziskind1/machine_tests/blob/main/ml/lmstudio_model_enum_test/main.py): `ml/lmstudio_model_enum_test/main.py`

### Sorting Benchmarks

- [Single-thread Sort](https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/sort_single.cpp): `cpp/sorting_v2/sort_single.cpp`
- [Multi-thread Sort](https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/sort_multi.cpp): `cpp/sorting_v2/sort_multi.cpp`
- [Sort Algorithms](https://github.com/alexziskind1/machine_tests/blob/main/cpp/sorting_v2/common.h): `cpp/sorting_v2/common.h`
- [Thread Scaling Sort](https://github.com/alexziskind1/machine_tests/blob/main/cpp/thread_walker_sort/thread_walker_sort.cpp): `cpp/thread_walker_sort/thread_walker_sort.cpp`
- [Scaling Analysis](https://github.com/alexziskind1/machine_tests/blob/main/cpp/thread_walker_sort/analyze.py): `cpp/thread_walker_sort/analyze.py`

### Performance Analysis

- [Battery Data Cleaning](https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/clean_data.py): `battery/analysis/clean_data.py`
- [Battery Drain Plot](https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/plot_battery_drain_over_time.py): `battery/analysis/plot_battery_drain_over_time.py`
- [Work vs Battery Plot](https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/plot_work_done_vs_battery.py): `battery/analysis/plot_work_done_vs_battery.py`
- [Efficiency Plot](https://github.com/alexziskind1/machine_tests/blob/main/battery/analysis/plot_efficiency.py): `battery/analysis/plot_efficiency.py`
- [Disk Speed Plot](https://github.com/alexziskind1/machine_tests/blob/main/diskcopy/plot_speed.py): `diskcopy/plot_speed.py`

### Training and Demos

- [Mistral Training](https://github.com/alexziskind1/machine_tests/blob/main/ml/mistral_train/lima_train_mistral_fp16.py): `ml/mistral_train/lima_train_mistral_fp16.py`
- [Mistral Inference](https://github.com/alexziskind1/machine_tests/blob/main/ml/mistral_train/mistral_infer.py): `ml/mistral_train/mistral_infer.py`
- [PyTorch Training](https://github.com/alexziskind1/machine_tests/blob/main/ml/pytorch/training/train_resnet50_cifar10.py): `ml/pytorch/training/train_resnet50_cifar10.py`
- [TensorFlow Training](https://github.com/alexziskind1/machine_tests/blob/main/ml/tensorflow/training/train_resnet50_cifar10.py): `ml/tensorflow/training/train_resnet50_cifar10.py`
- [Python Mandelbrot](https://github.com/alexziskind1/machine_tests/blob/main/benchmarksgame/python/mandelbrot/main.py): `benchmarksgame/python/mandelbrot/main.py`
- [C# Mandelbrot](https://github.com/alexziskind1/machine_tests/blob/main/benchmarksgame/csharp/mandelbrot/MandelbrotCSharp/MandelbrotCSharp/Program.cs): `benchmarksgame/csharp/mandelbrot/MandelbrotCSharp/MandelbrotCSharp/Program.cs`
- [Browser Speedometer](https://github.com/alexziskind1/machine_tests/blob/main/browser/speedometer/speedometer.mjs): `browser/speedometer/speedometer.mjs`

### Other components

- **Experimenter**
- **LM Studio**

## Connections

- Experimenter → Prompt Tester: runs
- Experimenter → Statistical Tester: runs
- Experimenter → llama-bench Runner: runs
- Experimenter → MLX Runner: runs
- Experimenter → LM Studio Models: runs (evidence: `ml/lmstudio_model_enum_test/main.py`)
- Prompt Tester → MLX Config: imports (evidence: `ml/auto_prompter/llm_performance_tester.py`)
- Statistical Tester → MLX Config: imports (evidence: `ml/auto_prompter/statistical_llm_tester.py`)
- llama-bench Runner → MLX Config: imports (evidence: `ml/llama_bencher/llama_bench_runner.py`)
- MLX Runner → MLX Config: loads config (evidence: `ml/mlx_bencher/mlx_bench_runner.py`)
- Single-thread Sort → Sort Algorithms: uses (evidence: `cpp/sorting_v2/sort_single.cpp`)
- Multi-thread Sort → Sort Algorithms: uses (evidence: `cpp/sorting_v2/sort_multi.cpp`)
- Thread Scaling Sort → Sort Algorithms: uses (evidence: `cpp/thread_walker_sort/thread_walker_sort.cpp`)
- LM Studio Models → LM Studio: queries models (evidence: `ml/lmstudio_model_enum_test/main.py`)
- LM Studio Models → LM Studio: sends prompts (evidence: `ml/lmstudio_model_enum_test/main.py`)
