Raspberry Pi vs Power Mac G5

AphoticD

macrumors 68000
Original poster
Feb 17, 2017
1,911
2,522
Australia
Pi-vs-G5.jpg


Out of interest, I just bought a Raspberry Pi 3 Model B+ to play around with. The new Pi system has a number of improvements over the previous model, including improved cooling and a bumped up CPU which is now:
  • SoC: Broadcom BCM2837B0 quad-core A53 (ARMv8) 64-bit @ 1.4GHz
I haven't had any prior experience with these mini computers, but I think it performs incredibly well for web browsing and Youtube with it's default Raspbian OS and it handles UI graphics smooth and responsive when connected over HDMI to my 27" display.

Having onboard wifi means you can just connect it to power (5V, 2.5A) after initial config and wirelessly login via SSH or VNC without using a USB dongle or any other connected devices. This makes it a tidy little box for a media server or a portable little sandbox server for PHP/python development.

To disable the automatic GUI / login on boot, run raspi-config and change Boot Options > B1 Desktop / CLI to "B1 Console".

After reading some benchmarks, I tried replicating some of them with both the 2018, passive-cooled ARM based Quad Core Pi @ 1.4Ghz running Raspbian and the late 2005, air-cooled Dual Core PowerPC (970mp) G5 @ 2.3Ghz running Ubuntu Mate.
Code:
pi:~ $ uname -a
Linux 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l GNU/Linux
Code:
g5:~ $ uname -a
Linux 4.4.0-116-powerpc64-smp #140-Ubuntu SMP Mon Feb 12 22:00:40 UTC 2018 ppc64 ppc64 ppc64 GNU/Linux

Sysbench (0.4.12) CPU Benchmark
(Thread count has been matched to the number of cores)
Code:
pi:~ $ sysbench --test=cpu --num-threads=4 run
...
Test execution summary:
    total time:                          33.8234s
    total number of events:              10000
    total time taken by event execution: 135.2127
...
Code:
g5:~ $ sysbench --test=cpu --num-threads=2 run
...
Test execution summary:
    total time:                          31.9690s
    total number of events:              10000
    total time taken by event execution: 63.9280
...
CPU Benchmark Results:
Pi
CPU Test: 33.82 seconds
----------
G5 CPU Test: 31.96 seconds

Lower results are better. As you can see, the mighty G5 is only slightly quicker (~5.5%) than the little Pi!


Sysbench Memory Benchmarks (READ/WRITE)
Pi Memory Read

Code:
pi:~ $ sysbench --test=memory --memory-block-size=1K --memory-total-size=10G --memory-oper=read run
...
Operations performed: 2097152 (870860.93 ops/sec)

2048.00 MB transferred (850.45 MB/sec)

Test execution summary:
    total time:                          2.4081s
    total number of events:              2097152
    total time taken by event execution: 1.7553
...
Pi Memory Write
Code:
pi:~ $ sysbench --test=memory --memory-block-size=1K --memory-total-size=10G --memory-oper=write run
...
Operations performed: 2097152 (652977.86 ops/sec)

2048.00 MB transferred (637.67 MB/sec)

Test execution summary:
    total time:                          3.2117s
    total number of events:              2097152
    total time taken by event execution: 2.5592
...
G5 Memory Read
Code:
g5:~ $ sysbench --test=memory --memory-block-size=1K --memory-total-size=10G --memory-oper=read run
...
Operations performed: 2097152 (1202025.79 ops/sec)

2048.00 MB transferred (1173.85 MB/sec)

Test execution summary:
    total time:                          1.7447s
    total number of events:              2097152
    total time taken by event execution: 1.1654
...
G5 Memory Write
Code:
g5:~$ sysbench --test=memory --memory-block-size=1K --memory-total-size=10G --memory-oper=write run
...
Operations performed: 2097152 (856017.41 ops/sec)

2048.00 MB transferred (835.95 MB/sec)

Test execution summary:
    total time:                          2.4499s
    total number of events:              2097152
    total time taken by event execution: 1.8698
    per-request statistics:
...
Memory Benchmark Results:
Pi Memory Read: 850.45 MB/sec
Pi Memory Write: 637.67 MB/sec
EDIT: Tests re-run with --num-threads=4
Pi *Multithreaded* Memory Read: 2749.16MB/sec
Pi *Multithreaded* Memory Write: 2271.43MB/sec
----------
G5 Memory Read: 1173.85 MB/sec
G5 Memory Write: 835.95 MB/sec
EDIT: Tests re-run with --num-threads=2
G5 *Multithreaded* Memory Read: 1288.34MB/sec
G5 *Multithreaded* Memory Write: 852.00MB/sec

Ok, so [single-threaded] memory performance of the Pi isn't quite as good as the G5 and it is massively limited at only 1GB of RAM, as opposed to the G5's ceiling of 16GB.

EDIT: Multithreaded memory tests show memory throughput on the Pi to be more than twice as fast as the G5!

Real World Benchmarks
Now for a real world test. Compiling QEMU 2.11.1 from source, after installing dependancies.
(make is executed with 2 threads per CPU e.g. make -j 8)
Pi configure
Code:
pi:~/Downloads/qemu-2.11.1/build$ time ../configure --target-list=ppc64-softmmu,ppc-softmmu,i386-softmmu,x86_64-softmmu --disable-spice
...
real    0m22.329s
user    0m14.970s
sys    0m2.850s
Pi make
Code:
pi:~/Downloads/qemu-2.11.1/build$ time make -j 8
...
real    18m29.085s
user    66m50.310s
sys    2m50.230s
G5 configure
Code:
g5:~/Downloads/qemu-2.11.1/build$ time ../configure --target-list=ppc64-softmmu,ppc-softmmu,i386-softmmu,x86_64-softmmu --disable-spice
...
real    0m12.802s
user    0m7.136s
sys    0m2.928s
G5 make
Code:
g5:~/Downloads/qemu-2.11.1/build$ time make -j 4
...
real    12m26.464s
user    22m22.660s
sys    1m49.316s
QEMU Build Time Results:
Pi
configure and build time: ~19 minutes
----------
G5 configure and build time: ~12.5 minutes


Booting The Mac OS 9.2.2 Universal iso in QEMU (PPC, no KVM)
qemu-os9.png
Code:
pi:~ $qemu-system-ppc -M mac99 -m 128 -cdrom ~/vm/macos922uni.iso -boot d -vnc :5,password -monitor stdio
Pi Time to boot and show the Mac OS 9.2.2 Read Me: 4 minute 01 seconds

Code:
g5:~ $ qemu-system-ppc -M mac99 -m 128 -cdrom ~/vm/macos922uni.iso -boot d
G5 Time to boot and show the Mac OS 9.2.2 Read Me: 1 minute 27 seconds


Booting Debian 9 x86_64 img in QEMU (x86_64, no KVM) [With thanks to @Lastic]
qemu-debian9.png
Code:
pi:~ $ qemu-system-x86_64 -smp cpus=4 -boot c -hda vm/debian9_x64.img -m 512 -net nic -net user -vnc :5,password -monitor stdio
Pi Time to boot to user login prompt (no GUI): N/A (I gave up after 13 minutes of zero progress)

Code:
g5:~ $ qemu-system-x86_64 -smp cpus=2 -boot c -hda vm/debian9_x64.img -m 512 -net nic -net user -vnc :5,password -monitor stdio
G5 Time to boot to user login prompt (no GUI): 3 minutes 52 seconds


Booting KolibriOS in QEMU (i386, no KVM)
qemu-kolibri.png
Code:
pi:~ $ qemu-system-i386 -m 256 -cdrom kolibri.iso -boot d -vnc :5,password -monitor stdio
Pi Boot to Desktop: ~11 seconds

Code:
g5:~ $ qemu-system-i386 -m 256 -cdrom kolibri.iso -boot d -vnc :5,password -monitor stdio
G5 Boot to Desktop: ~6 seconds

Both machines could run a smooth game of Doom in an emulated x86 system delivering graphics over VNC, running KolbriOS (the Pi is running over wifi, the G5 is on gigabit).


EDIT: Despite these two systems being capable of performing CPU based multithreaded activities at similar speeds (with other factors causing bottlenecks, e.g read/write of the 16GB micro-SD card vs the G5's 7200rpm SATA 1TB HDD), the clear highlight here is that energy consumption has been the real advancement in the 13 years between these two systems. The G5 has a 1kW capable PSU with a real world draw of approx 150 - 250 watts per hour. The Pi on the other hand will draw ~6w under full load, with an idle of ~2w.

At least the final PowerPC Mac, the Mighty Quad G5 will continue to stand up against a few more revisions of the Pi until it's beat out by this tiny opponent. :apple:
 
Last edited:

Dronecatcher

macrumors 68040
Jun 17, 2014
3,684
3,521
Lincolnshire, UK
I bought the first model Pi when they were released...but took it back when configuring it to do anything was such an uphill struggle...my impatience again. I think the process is a lot slicker now.
Will have to revisit soon but I find the Pi Zero more alluring being an even more reduced form factor...would love to bung one into an old radio chassis and make a portable Software Defined Radio.
 
Last edited:
  • Like
Reactions: AphoticD

AphoticD

macrumors 68000
Original poster
Feb 17, 2017
1,911
2,522
Australia
I bought the first model Pi when they were released...but took it back when configuring it to do anything was such an uphill struggle...my impatience again. I think the process is a lot slicker now.
Will have to revisit soon but I find the Pi Zero more alluring being even an more reduced form factor...would love to bung one into an old radio chassis and make a portable Software Defined Radio.
I can imagine the early revisions would have been challenging. But they have come a long way in terms of ease of use.

When I first plugged it in, it took maybe 30 seconds on initial boot to sort itself out and then I was staring at a ready to use desktop UI, with a very responsive Chromium as the default browser. I'm impressed with this little device and have been stepping through some of their projects on the Pi site for fun. I can see how good these can be for schools to teach the kids about "building" a computer, identifying what's what on the system board, and even learning to code with Python, etc

It also made me think about how second-hand lower spec PowerPC Macs could easily fulfil the same need at roughly the same price point (and often less). Something like an iBook G4 (with Airport Extreme) would be perfect for kids to learn on without too many distractions.
 

AphoticD

macrumors 68000
Original poster
Feb 17, 2017
1,911
2,522
Australia
For reference, here are the same benchmarks from my 2008 Mac Pro 3,1 (2x Quad Core 3.2Ghz Xeon).

Mac Pro CPU Test

Code:
cMP:~ $ sysbench --test=cpu --num-threads=8 run
...
CPU speed:
    events per second:  8268.55

General statistics:
    total time:                          10.0010s
    total number of events:              82718
...
Mac Pro Memory Read *Multithreaded*
Code:
cMP:~ $ sysbench --test=memory --threads=8 --memory-block-size=1K --memory-total-size=10G --memory-oper=read run
...
Number of threads: 8
...
Total operations: 10485760 (23677316.36 per second)

10240.00 MiB transferred (23122.38 MiB/sec)

General statistics:
    total time:                          0.4401s
    total number of events:              10485760
...
Mac Pro Memory Write *Multithreaded*
Code:
cMP:~ $ sysbench --test=memory --threads=8 --memory-block-size=1K --memory-total-size=10G --memory-oper=write run
...
Number of threads: 8
...
Total operations: 10485760 (4491974.58 per second)

10240.00 MiB transferred (4386.69 MiB/sec)

General statistics:
    total time:                          2.3316s
    total number of events:              10485760
...
Memory tests also benefit from being multithreaded. I'll re-run the Pi and the G5 memory tests again to reflect multithreaded performance.

Compiling QEMU benchmarks:

cMP configure

Code:
cMP:~ $ time ../configure --target-list=ppc64-softmmu,ppc-softmmu,i386-softmmu,x86_64-softmmu --disable-spice --python=/usr/bin/python
...
real    0m9.141s
user    0m4.102s
sys    0m4.809s
cMP build
Code:
cMP:~ $ time make -j 16
...
real    1m46.595s
user    8m29.961s
sys    1m47.083s
Total configure and build time: less than 2 minutes.
 
Last edited:

Lastic

macrumors 6502a
Mar 19, 2016
804
661
North of the HellHole
Interesting comparison.

I once coupled an Odroid-W to a Motorola lapdock and was also impressed of it running Qemu and mplayer quite good.

However fried it trying to add a flat USB connector and now the lapdock serves as a HDMI KVM for my Xserve G4
 
  • Like
Reactions: AphoticD

marcofranchimoretti

macrumors newbie
Aug 24, 2018
1
1
Welcome at all. I will post my contribute.
Libre Computer Le Potato
[https://libre.computer/products/boards/aml-s905x-cc/]

Linux lepotato 4.14.52-meson64 #6 SMP PREEMPT Thu Jun 28 11:17:29 UTC 2018 aarch64 GNU/Linux. [Armbian]

sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 4
Doing CPU performance benchmark
Threads started!
Done.
Maximum prime number checked in CPU test: 10000
Test execution summary:
total time: 2.6804s
total number of events: 10000
total time taken by event execution: 10.7122
per-request statistics:
min: 1.03ms
avg: 1.07ms
max: 33.78ms
approx. 95 percentile: 1.05ms
Threads fairness:
events (avg/stddev): 2500.0000/24.69
execution time (avg/stddev): 2.6780/0.00

sysbench --test=memory --memory-block-size=1K --memory-total-size=10G --memory-oper=read run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Doing memory operations speed test
Memory block size: 1K
Memory transfer size: 10240M
Memory operations type: read
Memory scope type: global
Threads started!
Done.
Operations performed: 10485760 (1259478.29 ops/sec)
10240.00 MB transferred (1229.96 MB/sec)
Test execution summary:
total time: 8.3255s
total number of events: 10485760
total time taken by event execution: 5.9370
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 0.17ms
approx. 95 percentile: 0.00ms
Threads fairness:
events (avg/stddev): 10485760.0000/0.00
execution time (avg/stddev): 5.9370/0.00

sysbench --test=memory --memory-block-size=1K --memory-total-size=10G --memory-oper=write run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Doing memory operations speed test
Memory block size: 1K
Memory transfer size: 10240M
Memory operations type: write
Memory scope type: global
Threads started!
Done.
Operations performed: 10485760 (859664.11 ops/sec)
10240.00 MB transferred (839.52 MB/sec)
Test execution summary:
total time: 12.1975s
total number of events: 10485760
total time taken by event execution: 9.8195
per-request statistics:
min: 0.00ms
avg: 0.00ms
max: 0.14ms
approx. 95 percentile: 0.00ms
Threads fairness:
events (avg/stddev): 10485760.0000/0.00
execution time (avg/stddev): 9.8195/0.00

P.S. All for terminal emulator under XFCE with browser Chromium open.
 
Last edited:
  • Like
Reactions: AphoticD
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.