MacBook Neo
testing in progress

## Basic information
- Board URL (official): https://www.apple.com/macbook-neo/
- Board purchased from: Apple
- Board purchase date: March 11, 2026
- Board specs (as tested): A18 Pro / 8GB / 256GB / No Touch ID
- Board price (as tested): $599
## Linux/system information
```
# output of `screenfetch`
-/+:. jgeerling@macbook-neo
:++++. OS: 64bit macOS
/+++/. Kernel: arm64 Darwin 25.3.0
.:-::- .+/:-``.::- Uptime: 2h 9m
.:/++++++/::::/++++++/:` Packages: 146
.:///////////////////////:` Shell: zsh 5.9
////////////////////////` Resolution: 3840x2160
-+++++++++++++++++++++++` DE: Aqua
/++++++++++++++++++++++/ WM: Quartz Compositor
/sssssssssssssssssssssss. WM Theme: Blue (Dark)
:ssssssssssssssssssssssss- Font: FMonoMedium
osssssssssssssssssssssssso/` Disk: 108G / 245G (49%)
`syyyyyyyyyyyyyyyyyyyyyyyy+` CPU: Apple A18 Pro
`ossssssssssssssssssssss/ GPU: Apple A18 Pro
:ooooooooooooooooooo+. RAM: 892MiB / 8192MiB
`:+oo+/:-..-:/+o+/-
# output of `uname -a`
Darwin macbook-neo.local 25.3.0 Darwin Kernel Version 25.3.0: Wed Jan 28 20:56:11 PST 2026; root:xnu-12377.91.3~2/RELEASE_ARM64_T8140 arm64
```
### System topology

## Benchmark results
### CPU
- Geekbench 6: (3011 single / 6823 multi - https://browser.geekbench.com/v6/cpu/17009998) (TODO: Re-run after file sync complete)
- TODO Gflops ([geerlingguy/top500-benchmark](https://github.com/geerlingguy/top500-benchmark) HPL result)
### Power
- Idle power draw (at wall): 2.8 W (possibly lower, measurement a few hours after setup)
- Maximum simulated power draw (`stress-ng --matrix 0`): 9.3 W (throttles to 7 W after about 10s)
- During Geekbench multicore benchmark: 12.8 W
- During `top500` HPL benchmark: TODO W
### Disk
#### APPLE SSD AP0256Z
| Benchmark | Result |
| -------------------------- | ------ |
| iozone 4K random read | TODO MB/s |
| iozone 4K random write | TODO MB/s |
| iozone 1M random read | TODO MB/s |
| iozone 1M random write | TODO MB/s |
| iozone 1M sequential read | TODO MB/s |
| iozone 1M sequential write | TODO MB/s |
### Network
`iperf3` results:
- `iperf3 -c $SERVER_IP`: TODO Mbps
- `iperf3 -c $SERVER_IP --reverse`: TODO Mbps
- `iperf3 -c $SERVER_IP --bidir`: TODO Mbps up, TODO Mbps down
(Be sure to test all interfaces, noting any that are non-functional.)
## GPU
### GravityMark
GravityMark results:
```
1. Download the latest version of GravityMark: https://gravitymark.tellusim.com
2. Run `chmod +x [downloaded_filename].run`
3. Run `sudo ./[downloaded_filename].run` and press `y` to accept the terms.
4. Open the link it prints, and run the Benchmark defaults, changing to 720p resolution and 50,000 asteroids.
```
Note: These benchmarks require an active display on the device. Not all devices may be able to run `glmark2-es2`, so in that case, make a note and move on!
### AI / LLM Inference
Basic AI inference results with llama.cpp build: f2ab047f2 (8300)
#### tinyllama-1.1b-1t-openorca.Q4_K_M.gguf
| model | size | params | backend | threads | test | t/s |
| ------------------------------ | ---------: | ---------: | ---------- | ------: | --------------: | -------------------: |
| llama 1B Q4_K - Medium | 636.18 MiB | 1.10 B | MTL,BLAS | 2 | pp512 | 600.04 ± 18.50 |
| llama 1B Q4_K - Medium | 636.18 MiB | 1.10 B | MTL,BLAS | 2 | pp4096 | 415.56 ± 4.62 |
| llama 1B Q4_K - Medium | 636.18 MiB | 1.10 B | MTL,BLAS | 2 | tg128 | 61.27 ± 1.42 |
| llama 1B Q4_K - Medium | 636.18 MiB | 1.10 B | MTL,BLAS | 2 | pp4096+tg128 | 279.91 ± 2.25 |
#### Llama-3.2-3B-Instruct-Q4_K_M.gguf
| model | size | params | backend | threads | test | t/s |
| ------------------------------ | ---------: | ---------: | ---------- | ------: | --------------: | -------------------: |
| llama 3B Q4_K - Medium | 1.87 GiB | 3.21 B | MTL,BLAS | 2 | pp512 | 202.86 ± 6.81 |
| llama 3B Q4_K - Medium | 1.87 GiB | 3.21 B | MTL,BLAS | 2 | pp4096 | 157.81 ± 3.71 |
| llama 3B Q4_K - Medium | 1.87 GiB | 3.21 B | MTL,BLAS | 2 | tg128 | 19.98 ± 0.15 |
| llama 3B Q4_K - Medium | 1.87 GiB | 3.21 B | MTL,BLAS | 2 | pp4096+tg128 | 117.09 ± 0.81 |
## Memory
`tinymembench` results:
<details>
<summary>Click to expand memory benchmark result</summary>
```
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)
==========================================================================
== Memory bandwidth tests ==
== ==
== Note 1: 1MB = 1000000 bytes ==
== Note 2: Results for 'copy' tests show how many bytes can be ==
== copied per second (adding together read and writen ==
== bytes would have provided twice higher numbers) ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
== to first fetch data into it, and only then write it to the ==
== destination (source -> L1 cache, L1 cache -> destination) ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in ==
== brackets ==
==========================================================================
C copy backwards : 19026.2 MB/s (3.3%)
C copy backwards (32 byte blocks) : 18087.6 MB/s (1.8%)
C copy backwards (64 byte blocks) : 18563.5 MB/s (1.1%)
C copy : 19013.1 MB/s (1.3%)
C copy prefetched (32 bytes step) : 19298.5 MB/s (2.1%)
C copy prefetched (64 bytes step) : 18302.2 MB/s (1.0%)
C 2-pass copy : 16694.4 MB/s (2.0%)
C 2-pass copy prefetched (32 bytes step) : 16622.7 MB/s (2.2%)
C 2-pass copy prefetched (64 bytes step) : 16862.7 MB/s (2.3%)
C fill : 31609.9 MB/s (3.1%)
C fill (shuffle within 16 byte blocks) : 31731.3 MB/s (2.4%)
C fill (shuffle within 32 byte blocks) : 32944.7 MB/s (3.7%)
C fill (shuffle within 64 byte blocks) : 32223.6 MB/s (2.7%)
NEON 64x2 COPY : 30157.7 MB/s (2.2%)
NEON 64x2x4 COPY : 29959.1 MB/s (2.1%)
NEON 64x1x4_x2 COPY : 29691.1 MB/s (1.5%)
NEON 64x2 COPY prefetch x2 : 24306.7 MB/s (3.1%)
NEON 64x2x4 COPY prefetch x1 : 26457.9 MB/s (3.5%)
NEON 64x2 COPY prefetch x1 : 25596.7 MB/s (3.5%)
NEON 64x2x4 COPY prefetch x1 : 26708.1 MB/s (4.3%)
---
standard memcpy : 30569.4 MB/s (7.2%)
standard memset : 36902.3 MB/s (4.3%)
---
NEON LDP/STP copy : 30937.6 MB/s (2.2%)
NEON LDP/STP copy pldl2strm (32 bytes step) : 29902.0 MB/s (3.0%)
NEON LDP/STP copy pldl2strm (64 bytes step) : 27884.2 MB/s (8.6%)
NEON LDP/STP copy pldl1keep (32 bytes step) : 30740.1 MB/s (15.5%)
NEON LDP/STP copy pldl1keep (64 bytes step) : 30469.7 MB/s (2.5%)
NEON LD1/ST1 copy : 29726.6 MB/s (2.4%)
NEON STP fill : 40044.9 MB/s (8.4%)
NEON STNP fill : 51650.4 MB/s (12.7%)
ARM LDP/STP copy : 29774.8 MB/s (4.7%)
ARM STP fill : 38568.0 MB/s (6.5%)
ARM STNP fill : 34132.8 MB/s (2.6%)
==========================================================================
== Memory latency test ==
== ==
== Average time is measured for random memory accesses in the buffers ==
== of different sizes. The larger is the buffer, the more significant ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM ==
== accesses. For extremely large buffer sizes we are expecting to see ==
== page table walk with several requests to SDRAM for almost every ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest). ==
== ==
== Note 1: All the numbers are representing extra time, which needs to ==
== be added to L1 cache latency. The cycle timings for L1 cache ==
== latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
== two independent memory accesses at a time. In the case if ==
== the memory subsystem can't handle multiple outstanding ==
== requests, dual random read has the same timings as two ==
== single reads performed one after another. ==
==========================================================================
block size : single random read / dual random read
1024 : 0.0 ns / 0.0 ns
2048 : 0.0 ns / 0.0 ns
4096 : 0.0 ns / 0.0 ns
8192 : 0.0 ns / 0.0 ns
16384 : 0.0 ns / 0.0 ns
32768 : 0.0 ns / 0.0 ns
65536 : 0.0 ns / 0.0 ns
131072 : 0.0 ns / 0.0 ns
262144 : 2.3 ns / 3.5 ns
524288 : 3.4 ns / 4.5 ns
1048576 : 3.9 ns / 4.7 ns
2097152 : 4.2 ns / 4.9 ns
4194304 : 5.7 ns / 6.6 ns
8388608 : 6.6 ns / 7.4 ns
16777216 : 9.4 ns / 11.9 ns
33554432 : 51.9 ns / 102.0 ns
67108864 : 110.4 ns / 137.3 ns
```
</details>
### Core to Core Memory Latency
TODO: If this is a new CPU/SoC, run `c2clat` to generate a core to core memory access latency graph, and paste it here. For instructions, see: https://gist.github.com/geerlingguy/842974c0e49c201c28f4be54a05cc89c
## `sbc-bench` results
Run sbc-bench and paste a link to the results here:
```
wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh
sudo /bin/bash ./sbc-bench.sh -r
```
## Phoronix Test Suite
Results from [pi-general-benchmark.sh](https://gist.github.com/geerlingguy/570e13f4f81a40a5395688667b1f79af):
- pts/encode-mp3: TODO sec
- pts/x264 1080p: TODO fps
- pts/x264 4K: TODO fps
- pts/phpbench: TODO
- pts/build-linux-kernel (defconfig): TODO sec
0 条评论