Skip to content

geerlingguy/sbc-reviews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SBC Reviews

Jeff Geerling's SBC (Single-Board Computer) review and benchmarking data repo.

There are many like it, but this one is mine.

Website

TODO: I am working on moving the data within this repository into a static website for easier browsing and so I can more easily link to the information. This process will take some time. Visit the site at https://sbc-reviews.jeffgeerling.com/.

List of SBCs

The list of SBCs has been moved to the SBC Reviews website.

Motivation

I test a lot of SBCs from Raspberry Pi, Radxa, Orange Pi, Pine64, ODROID, ASUS, and more.

Until recently, I would compile all my data in a single project folder and/or blog post, and maybe feature a few specific benchmarks in a video on my YouTube channel.

But I decided I'd rather have a public repository with all the test data and review notes for all the SBCs I use and test.

Unless under NDA, my plan is to compile all my data here, in real-time, as a point of reference for myself and for anyone else who runs into interesting results (e.g. the RK3588 on the Rock 5 model B benchmarking slower than the RK3588S on the Orange Pi 5).

Methodology

For every board I test or review, I will open an Issue with the name of the SBC, and begin compiling data in that issue.

If you would like to see a board added that is not already listed, please start a new Discussion—do not open an Issue until I have confirmed I am going to acquire and test a certain board.

A list of all the tests I attempt to run on a board is contained in the sbc-board.md Issue Template.

I often test a variety of other board-specific features, too, though it depends on the amount of time I'm willing to devote to a specific board, whether I'll deep-dive or just get basic numbers.

Benchmark Scripts

The benchmark scripts are run using pyinfra. It can be installed with pip3 install pyinfra.

Inside the benchmark directory, modify inventory.py to point at the system under test, and run:

pyinfra inventory.py main.py -y

This assumes you've already configured an SSH connection to the system under test.

You can run individual benchmarks separately by calling the task files individually:

pyinfra inventory.py tasks/tinymembench.py -y

Make sure you've run at least tasks/setup.py prior to running any other tasks, if not running main.py.

Note: There is a parallel set of benchmarking scripts in the benchmark-ansible folder. Right now I'm setting up both side by side to do essentially the same thing, but I wanted to give Pyinfra a try since I hadn't used it for any 'production' scenario before.

Building the Website

The website is generated with Hugo. Check out Hugo's installation guide.

Change directories into web and run hugo server to run to run a local development environment and preview the site.

The website is built using GitHub Actions, with the configuration stored inside .github/workflows/hugo.yml.

SBC Awards

I'm considering crowning certain SBCs with awards every year, like "Fastest storage" or "least functionality." That seems like it could be a fun way to blow off steam when I'm having a terrible experience, or celebrate some truly groundbreaking new features...

Author

This repository is maintained by Jeff Geerling.