Skip to content

Effective Benchmarking on your 64 Bit RPi System

sakaki edited this page Sep 28, 2019 · 1 revision

Run benchmarks on your RPi 4 (or RPi 3) at full speed!

Introduction

If you would like to run benchmarks on your gentoo-on-rpi-64bit system, I recommend doing so from the command line, with no GUI running, where possible. That's because there is a small, but non-zero, CPU-load incurred in maintaining and rendering the supplied Xfce4 desktop, which can negatively impact recorded benchmark results.

NB: if you are running a test that requires a desktop, such as a GL benchmark, the below will obviously not apply. However, in such a case, please see these later notes instead.

Temporarily Disabling the Desktop, and Periodic Tasks

Fortunately, it's easy to temporarily turn off the GUI (and other periodic maintenance tasks), whilst your benchmark is running. To do so, first ensure your benchmark is compiled and ready to run. Then, open a console, and issue:

demouser@pi64 ~ $ sudo rc-update del xdm default
demouser@pi64 ~ $ sudo rc-update del cronie default

Note that the above only prevents the services from starting at boot time, it does not uninstall (or immediately stop) them. xdm is the service responsible for launching the graphical desktop, and cronie is responsible for running periodically scheduled services, such as system updating via genup. We don't want either running during benchmarking.

Then, reboot. Your system will start back up to a textual prompt.

Any Bluetooth keyboard you have paired (and trusted) should still be usable at the textual prompt, after a restart (and obviously, a wired or 'USB-dongled' wireless keyboard will also be usable). However, since the graphical NetworkManager control applet won't be running, WiFi will not be operational (it can be brought up in a headless context, but that is beyond the scope of this short note). If you have an Ethernet cable connected, that should work however, so you can e.g. ssh in via that route, if you don't want to attach a monitor.

Login, and run your benchmark.

Remember, by default on the image, the password for the demouser account is raspberrypi64, and for root, also raspberrypi64.

Once you are done benchmarking, resume the regular task scheduler and graphical desktop. Still running from the textual console, issue:

demouser@pi64 ~ $ sudo rc-update add cronie default
demouser@pi64 ~ $ sudo rc-update add xdm default
demouser@pi64 ~ $ sudo rc-service cronie start
demouser@pi64 ~ $ sudo rc-service xdm start

The GUI should start up immediately (and will also start up automatically on the next boot).

Running Graphical Benchmarks

If your benchmark requires a graphical desktop to run (for example, a GL test), obviously the above approach will not work. However, in such a case, please make sure that compositing is turned off for the duration of the test (as this is a provides a significant GL loading during normal use).

You can turn compositing off via a settings dialog, which you access via ApplicationsSettingsWindow Manager Tweaks, Compositor.

Once you have run the benchmark, you can of course turn compositing back on again (via the same dialog).

Clone this wiki locally