A1222 Guide: Performance and BenchmarkingHow do we gauge performance on the A1222 against other systems?Why on Earth I'm bothering with this I don't know, but people seem interested nonetheless. The truth is that most benchmarks are fairly worthless: this one favors this CPU architecture, that one favors that graphics card, the other is misleading when using certain memory types, and so forth. The only benchmark that really matters is how your workload runs on your system with your configuration. Everything else is noise. That said there are a few benchmarking tools that we tend to run on our NG Amiga systems to compare between them, and some can be useful in determining overall performance trends. The systems I'll be comparing against are the AmigaOne X5000/20, the SAM460EX, and the Pegasos II. Each benchmark listed here was tested on an original Tabor beta board-based A1222 build using the latest AmigaOS beta components as of mid-2024. It's beta. Beta. BETA!!!! That means that the final numbers may be similar or be wildly different. The whole reason for things like NDAs is to prevent stuff like this from coloring people's expectations before release, either for good or for bad. If anyone starts quoting this page on the forums, I'll send the Golem of Prague after you. Don't think I can't. CPU Benchmarks The tests listed here below are designed to characterize CPU computation performance and storage bandwidth rather than any sort of real-world workload. Just like anything else on the A1222 if it uses PowerPC floating-point instructions and data the results will be affected by the FPU emulation layer. For example the RageMem results below use float64 datatypes for the 64-bit operations, so the numbers are going to be misleading. So, tests like the Whetstone benchmark or LAME MP3 conversion, or the 64-bit read/write tests from RageMem have been removed from the tables below for now, but I can make the raw data available to those genuinely interested.
Disk Benchmarks Back in the Disk Options section of this guide we discussed disk hardware and filesystem choices. Now I'd like to compare the relative performance of disk I/O between my A1222 and my X5000. For this test the same Samsung SSD was used, with the same partitioning scheme, and same filesystem -- NGFS\01. While I'd like to do some real-world testing here, like streaming video and file copies of various sizes, I don't have instrumentation to accurately capture results, so like before, we'll use DiskSpeed 4.5 for our tests. I have no idea if FPU emulation impacts the results, but it hardly matters, since in the end, that's how it would work on our A1222s anyway. Some of these numbers seem, well, a little off. But generally we would expect the A1222 to show less performance than the flagship X5000, and that's what it does show. The p1022sata.device driver probably has many areas where improvements could be made; my understanding is that it is based on the FreeScale Linux driver, and there may be areas that can be improved to take advantage of ExecSG functionality. No idea. In real-world use it can show, especially when loading many, tiny files, such as AISS images or games with tons of image and sound assets. With other applications you don't notice it at all. The point is that the A1222 disk I/O has quite a bit of room for software improvement; there is no reason some of these numbers are as low as they are. After a request from a reader I have added results from my Pegasos 2 system but I don't consider them much use. With the A1222 and X5000 we are comparing apples to apples, i.e., same SSD, same filesystem, same interface. The Pegasos 2 is so old that the drive is mechanical, not solid-state; it is IDE-based, not SATA2; and the filesystem is SFS\0, not the newer NGFS\0. Nonetheless it is a typical setup for older, pre-PCIe systems, so maybe it is useful. You be the judge.
I also did some experiments back in 2021 on NGFS\00 and SFS filesystems on the A1222 and X5000 that may be of interest. Compared to the table above they show either the maturation of NGFS over time, the flakiness of DiskSpeed, both, or neither. I'm not trying to be coy; I'm just presenting the numbers as I measured them. That older data is available for review. Oh, and those experiments were with DiskSpeed 4.3, an older version. Graphics Benchmarks We have a few graphics tools we can use for benchmarking, and for starters will use actual benchmarking tools that are well-known. Later I hope to add real-world examples like Blender rendering times, ShaderJoy average FPS numbers, timed demo levels in Quake, etc. Those are far more interesting than the tests below, especially since there is a high-end RadeonHD card in the X5000 and a low-end RadeonRX card in the A1222. The Pegasos II results are with a Radeon 9000 Pro AGP card.
Memory Benchmarks After reading a thread on amigans.net (link) I realized I didn't have anything that highlighted memory throughput other than Ragemem numbers above -- and those are limited because the use of 64-bit floats wasn't really useful since all it did was hit the FPU emulation. So I've gone ahead and used the STREAM benchmark for this purpose, and you can grab a copy on OS4Depot (download) to compare against your systems. At some point I'll dig up my old Pegasos II from my basement storage and test there as well. Here we compare the A1222 using native floating-point using the SPE unit, the A1222 using FPU emulation, and the X5000/20:
There are a few things to keep in mind: firstly I'm not using the fastest known SO-DIMM in my A1222, so your mileage may vary. Secondly, although this benchmark is designed to demonstrate relative memory bandwidth, this shows that even for well-behaved code, if it hits floating-point instructions on the A1222 and is not native SPE code, you're going to notice it. Thirdly, with well-behaved code, the impact is substantial but not nearly as bad as one might think. If your tool uses floating-point math sparingly, the A1222 is perfectly usable. If your tool is virtually nothing but floating-point code, such as Heretic II, for example, and isn't SPE-native, don't bother. Introduction | Initial Build | Disk Options | Recommended Software Tools Compatibility | Games Compatibility | Tips | Benchmarks | FAQ | Links Last updated: 25.06.24 |