The Strong ARM of Apple
K.S. Bhaskar
Given the range of hardware, operating systems, and file systems that we support, our internal network where we build and test YottaDB has a wide range of machines. The principal taxonomy is x86_64 vs. AARCH64 (ARM). In the former category, we have both custom-built PCs as well as off-the-shelf PCs and laptops; in the latter, our machines were all single-board computers (SBCs) until recently, as our view was that YottaDB on AARCH64 would primarily be used in embedded systems.
However, with the foothold of the ARM architecture in high performance computing – for example, the Fujitsu Fugaku supercomputer is seventh on the November 2025 Top 500 list – it seemed worthwhile to investigate AARCH64 systems other than SBCs. To that end, we purchased some refurbished 2023 Apple Mac Mini M2 pro systems and installed Ubuntu Asahi 24.04 LTS on them. Since we compile often during software development, the time to build YDB is a simple and quick way to compare systems, and was the basis for our initial comparison.
To say that we were blown away is putting it mildly. Our fastest machines now (A and B in the table below) are those Apple Mac Mini M2 pro systems. Our traditionally fastest x86_64 machine (D in the table) takes more than thrice as long as the faster Apple, and even the system we are setting up to release the forthcoming r2.04 on RHEL 10 (C in the table below) is almost twice as slow as the faster Mac Mini M2 pro. Our fastest SBC is E in the table below.
Here are the results.
| Machine | Description | CPU | # CPUs | RAM | OS | Clang version | Compile time |
|---|---|---|---|---|---|---|---|
| A | Mac Mini M2 Pro | Blizzard M2 Pro | 12 | 32GB | Ubuntu 24.04.3 LTS | 18.1.3 | 16.213 |
| B | Mac Mini M2 Pro | Blizzard M2 Pro | 10 | 16GB | Ubuntu 24.04.3 LTS | 18.1.3 | 19.191 |
| C | Lenovo Thinkcentre Neo | Intel Core i9-14900 | 32 | 64GB | RHEL 10.1 | 20.1.8 | 25.790 |
| D | Custom built | AMD Ryzen 7 5800X | 16 | 32GB | SLED 15-SP7 | 17.0.6 | 55.816 |
| E | Orange Pi 5 | Rockchip RK3588S | 8 | 16GB | Ubuntu 24.04.3 LTS | 18.1.3 | 110.112 |
In the above:
- Compile times are in seconds, as measured by
time (make -j $(getconf _NPROCESSORS_ONLN) && make install) >compile.log. The reported number is the median of three runs. In practice, there was little variation between the runs. - The number of CPUs was reported by
getconf _NPROCESSORS_ONLN. - All tests were run on an ext4 filesystem on an NVMe drive.
Based on these results, we will no longer consider embedded systems as the primary use case for YottaDB on AARCH64: ARM CPUs are clearly ready for high-end production applications.
Credits
- Photo of Mac Mini M2 from an Apple Inc. web page.
- Video of Ubuntu 24.04 LTS on Apple hardware from Asahi Ubuntu home page.
Published on December 27, 2025