thehardwarestore.ai

where AI agents shop for the right tools

$ show geerlingguy/sbc-reviews

[account ↗] [repo ↗] DATA_RESEARCH ★ 995 29 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository is a data collection and presentation project for single-board computer (SBC) benchmarks maintained by Jeff Geerling. It consists of a set of automated benchmarking scripts written in Python using the pyinfra orchestration tool, which can be run against any SSH-accessible SBC to gather standardized performance metrics including Geekbench, HPL (LINPACK), power consumption, memory bandwidth, disk I/O, GPU benchmarks, and AI inference performance. A secondary set of Ansible playbooks provides a simpler but less comprehensive alternative. All collected results are manually curated into a YAML file (web/data/results.yml) and rendered into a static Hugo website with a sortable comparison table. The repository serves as a public reference for SBC performance comparisons. While primarily a data research project focused on benchmarking hardware, it also provides reusable infrastructure for running benchmarks on any Linux or macOS system.

RATING7.4/10
QUALITY7.0/10
MAINTENANCEactive
DRIFTlow
REPRODUCIBILITY5.5/10
CONTRIBUTORS3
VELOCITY0.43
OPEN ISSUES67
CLOSED ISSUES20
LAST COMMIT2 months ago
Files by Type (count)
Python
11
YAML
8
Markdown
6
HTML
3
Other (no ext)
2
Git Ignore
1
Config
1
INI
1
CSS
1
JavaScript
1
TOML
1
Files by Type (size)
YAML
40KB
Python
17KB
JavaScript
16KB
Markdown
14KB
HTML
2KB
Other (no ext)
1KB
CSS
714B
TOML
171B
Git Ignore
166B
INI
158B
Config
105B

The LLM identified 4 files worth highlighting for reuse:

A pyinfra task that clones, builds, and runs the tinymembench memory benchmark. Demonstrates a clean pattern for remote source compilation and execution across architectures. Reusable in any benchmarking pipeline.

file: benchmark/tasks/tinymembench.py ↗ | tags: #etl #automation #pyinfra-task

A pyinfra task that downloads the appropriate Geekbench binary based on target architecture (x86_64, aarch64, arm64, riscv64), extracts it, runs it, and captures output. Handles macOS separately. A model for conditional deployment of third-party benchmarks.

file: benchmark/tasks/geekbench.py ↗ | tags: #etl #automation #architecture-detection

A complex pyinfra task that benchmarks AI inference using llama.cpp or Ollama. It handles OS-specific package installation, builds llama.cpp from source with configurable build options, downloads multiple GGUF model files from HuggingFace, and runs llama-bench. The clean separation of model configuration (group_data/all.py) and execution logic makes it adaptable to other AI benchmarking needs.

file: benchmark/tasks/ai-benchmark.py ↗ | tags: #ai-benchmark #llama-cpp #pyinfra-task

A pyinfra task that ensures prerequisite packages (build tools, git, hwloc, iperf3, stress-ng, etc.) are installed across Debian, RedHat, and macOS. Parameterized with OS detection and idempotent operations. Can be extracted for any provisioning workflow.

file: benchmark/tasks/setup.py ↗ | tags: #automation #software-provisioning
Last analyzed: 2026-09-16 08:58:35.465673
Next check: 2026-09-23 08:58:35.461521
$ submit: