Skip navigation

I'm a PI 3 newby and I want to replace my Media Center which is a matricom q unit. Would this be better?

NEW! Raspberry Pi 3 Model B
Frequently Asked QuestionsComparison ChartTechnical Specifications
40 Pin OutPi3 Video Arcade Project


Our good friend biglesp put the Raspberry Pi 2 to the test the last time around, though I feel that he missed a good number of possible benchmarks to run on the hardware. With that in mind, I'm going to test the main boards of the Raspberry Pi that I can get my hands on and not only run the main benchmarks Les ran, but also a good few more thanks to Roy Longbottom's benchmark collection. I also have some approximate information on idle power usage, which everyone appears to be interested in.


One technical capability that I would have loved to put through its paces with Roy's benchmarks is the OpenGL driver that the Pi Foundation have made available. Unfortunately the Roy benchmarks are currently not compatible with it, so I guess it has just been testing against the binary blob for now. Regardless, the VideoCore is one part of the ARM processor that practically has not changed from the early Model B to the most recent version of the Raspberry Pi.


Modelling for the Camera

It does not hurt to go over the versions of Raspberry Pi again, and here are the models that I tested:


Component / BoardRaspberry Pi 3 Model BRaspberry Pi 3 Model BRaspberry Pi 2 Model BRaspberry Pi 2 Model BRaspberry Pi  Model B+Raspberry Pi  Model B+
Processor ChipsetBCM 2837 64bit ARMv8 Cortex A53 Quad CoreBCM 2836 32bit ARMv7 Cortex A7 Quad CoreBCM2835 32bit ARMv11 Single Core
Processor Speed1.2Ghz per core900Mhz per core

700Mhz core

Max Power Draw2.5A1.8A1.8A


If you want more information on the specifications you can check the comparison chart linked in the Raspberry Pi space. What we're mainly concerned with is the processor, power usage and somewhat also RAM, however the RAM runs at 400Mhz for each board so that may make little difference.


What does make somewhat of a difference is that the Raspberry Pi 3 is an ARMv8 Processor with 64bit support, however, Raspbian at the time of writing does not have 64bit support. In part this is so that it is backwards compatible with the previous Raspberry Pi. There is yet to be a 64bit Repo. Debian has been building up its 64bit support over a period of years, and potentially someone could compile together a kernel and binaries for a 64bit Jessie Debian for the Raspberry Pi 3. Go on, accept the challenge!


Taste Testing the Pi

Before I get into the software used for the benchmarking, I decided to run a few commands to get the processor information and supported instructions:


cpuinfo - Raspberry Pi 3 Model Bcpuinfo - Raspberry Pi 2 Model Bcpuinfo - Raspberry Pi 1 Model B+
processor: 0
model name: ARMv7 Processor rev 4 (v7l)
BogoMIPS: 76.80
Features: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer: 0x41

CPU architecture: 7

CPU variant: 0x0
CPU part: 0xd03
CPU revision: 4

<... and so on for each core...>

Hardware: BCM2709
Revision: a02082
Serial: 0000000056163283
processor: 0
model name: ARMv7 Processor rev 5 (v7l)
BogoMIPS: 57.60
Features: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer: 0x41

CPU architecture: 7

CPU variant: 0x0
CPU part: 0xc07
CPU revision: 5

<... and so on for each core...>

Hardware: BCM2709
Revision: a01041
Serial: 000000008e511ef0
processor: 0
model name: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS: 2.00
Features: half thumb fastmult vfp edsp java tls
CPU implementer: 0x41

CPU architecture: 7

CPU variant: 0x0
CPU part: 0xb76
CPU revision: 7


Hardware: BCM2708
Revision: 0010
Serial: 000000007a4bc337


What is pretty clear with cpuinfo is that it identifies the Raspberry Pi 3 processor as an ARMv7, this appears to be a failure in the software for now but this may change with a kernel/firmware update to ARMv8. What is interesting is that we have a new feature: crc32. I also never realised that "java" was actually a feature on the Model B+ processor chip and that's one that has been lost over time (some would say that is no love lost).


lscpu - Raspberry Pi 3 Model Blscpu - Raspberry Pi 2 Model Blscpu - Raspberry Pi 1 Model B+

Architecture:          armv7l

Byte Order:            Little Endian

CPU(s):                4

On-line CPU(s) list:   0-3

Thread(s) per core:    1

Core(s) per socket:    4

Socket(s):             1

Model name:            ARMv7 Processor rev 4 (v7l)

CPU max MHz:           1200.0000

CPU min MHz:           600.0000

Architecture:          armv7l

Byte Order:            Little Endian

CPU(s):                4

On-line CPU(s) list:   0-3

Thread(s) per core:    1

Core(s) per socket:    4

Socket(s):             1

Model name:            ARMv7 Processor rev 5 (v7l)

CPU max MHz:           900.0000

CPU min MHz:           600.0000

Architecture:          armv6l

Byte Order:            Little Endian

CPU(s):                1

On-line CPU(s) list:   0

Thread(s) per core:    1

Core(s) per socket:    1

Socket(s):             1

Model name:            ARMv6-compatible processor rev 7 (v6l)

CPU max MHz:           700.0000

CPU min MHz:           700.0000


With the lscpu command we can see that the Pi 3 processor is perhaps still not being identified properly, but at least that it, like the Pi 2 before it, can perform cpufreq scaling (which is also shown when issuing the lshw command). We can also clearly see that we have a confirmed, rather gladly, four core processor with the Pi 2 and Pi 3. Phew!


If you want to run these commands yourself on your Raspberry Pi with Raspbian then you can make sure you have them installed thusly:


sudo apt-get update

sudo apt-get install lscpu cpuinfo lshw


From a terminal window either within your desktop environment or from pressing CTRL-ALT-F1 (to F7, typically).


Power Usage

You can find some strange little devices that will plug in line with your USB hardware and it will tell you the most useful of things, such as how much power is being drawn! So I thought "sweet! Let's see how much power these draw while idle!"


Raspberry Pi 3 Model BRaspberry Pi 2 Model BRaspberry Pi 1 Model B+








Let me give these values some context, each Raspberry Pi was set to boot to the terminal, so that the X windows environment was not running. The only devices connected were a HDMI to DVI adapter to a 19" Widescreen monitor, a Dell USB keyboard, a 16gByte Class 10 microSD card and the power supply, which was providing 5 Volts, 2 Amps. There was no ethernet cable plugged in (though I can note that when it was, the power usage went up in all cases). We can see from the charts that the Pi 3 is pulling more power at idle than its predecessors, it is likely worth noting that the on board WiFi adapter of the Pi 3 was active, though it was not associated with an access point. The Bluetooth 4.1 adapter status was not intentionally active, as there was no driver loaded or software to use it. So it is likely the increase in power usage is due to the WiFi chip.



Now this software has been around since 2004, it was originally intended for input/output (io) file operations and database benchmarking. Thanks to being open source it gradually developed into an almost all-round system benchmark which also includes aspects of processor testing as well as IO and databases.


SysBench's processor tests verify prime numbers by going through all possible divisions and only being satisfied when the result is zero. This does mean that it does not test all features of the processor, except for raw number crunching. SysBench was ran with the following parameters:


sysbench --num-threads=1 --test=cpu --cpu-max-prime=20000 --validate run

sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 --validate run

Here is a breakdown of the command line parameters:


sysbench - The name of the software to run


--num-threads - This is the number of processes to run, in the tests we run 1 thread and then 4 threads, this means that it will create 1 or 4 processes and run one process per core. Since the Raspberry Pi 1 Model B+ has one core it made sense to run a one core test on each model of Raspberry Pi for fairness alongside running 4 threads.


--test=cpu - This parameter ensures we are only testing the processor, as mentioned previously SysBench can perform other tests, too


--cpu-max-prime - This is the maximum prime number value we want to calculate up to.


--validate - This ensures that the results we have returned are valid


run - The software can emulate or test rather than actually perform the requested benchmark, so we want to tell it to actually run it.


sysbench with 1 thread - Raspberry Pi 3 Model Bsysbench with 1 thread - Raspberry Pi 2 Model Bsysbench with 1 thread - Raspberry Pi 1 Model B+

Total time 477.0617 s


per requeststatistics


diff between min and max

2.22 ms

Total time 768.6476 s


per requeststatistics


diff between min and max

5.73 ms

Total time 1318.933 s


per requeststatistics


diff between min and max

168.64 ms


With the Pi 3 versus the Pi 1, the results show about a 94% total speed difference, compared to the Pi 2 there is a 47% speed difference on the total time taken. What I find most interesting about these results, though, is the difference between the minimum and maximum time taken. The Pi 3 shows a 194% speed improvement over the B+ and an 88% speed improvement over the Pi 2. So while the overall time may not feel that big of a deal, per request it is performing them a lot faster. There's also evidence that it is overall significantly faster than the B+.


sysbench with 4 threads - Raspberry Pi 3 Model Bsysbench with 4 threads - Raspberry Pi 3 Model Bsysbench with 3 threads - Raspberry Pi 1 Model B+

Total time 119.4716


per requeststatistics



diff between min and max

11.35 s

Total time 191.8972 s


per requeststatistics


diff between min and max

25.07 ms

Total time 1321.493 s


per requeststatistics


diff between min and max

160.06 ms


This test is an unfair comparison with the Pi 1 B+ since it only has one processor core, so it is not surprising that it takes significantly longer than the Pi 2 and 3. The Pi 2 closes the gap a bit closer when working with all four cores here than with the single core test though the Pi 3 still outperforms by 75% with the difference between the min and max time it takes for the requests, overall there is still only a 47% speed difference which is almost half.


Overall the Pi 3 comes out on top as faster, though it would be interesting to see how the Pi 2 compares if it was over clocked. Still, something to remember is that computing prime numbers is just one function of what this processor is capable of.



I thought it would be good to include this for retro' computing sake, especially considering that the Raspberry Pi is intended to be going back to the roots of learning how to code and programme with a capable hands-on computer platform. nBench has been around for so long that you can compare these benchmark results against older processors such as the 386 and even 486 based processors right up to the Intel Core i7. It can even run on Android.


The software is intended to test three main components of the processor, the capabilities of the CPU (Central Processing Unit), FPU (Floating Point Unit) and memory system. You can find more information on this site. Once you have compiled nBench then it is simply ran with a single command of what the program is called. In the results, the higher the number, the better, as it is the number of iterations it can perform per second, summarised.


nbench - Raspberry Pi 3 Model Bnbench - Raspberry Pi 2 Model Bnbench - Raspberry Pi 1 Model B+


memory index7.105
integer index8.976
floating-point index7.601


memory index4.186
integer index5.812
floating-point index4.526


memory index2.501
integer index3.208
floating-point index1.884


Since I threw this benchmark in for fun, here are some other processors that have taken the same benchmark, to put these in perspective:


nbench - AMD K7 Thunderbirdnbench - Pentium 3 900Mhz
nbench - LG Optimus GT540


memory index9.473
integer index6.744
floating-point index12.501


memory index3.930
integer index3.649
floating-point index9.631


memory index1.171
integer index1.691
floating-point index0.489


It is totally not fair to compare the Raspberry Pi processor to these chips, except for the LG Optimus, that is using an ARM processor, however I found it interesting that the Broadcom chip has its own capabilities and areas where it excels in comparison to these older processors, for example the integer capability on the Pi 3 excels against the old AMD K7 processor and both the Pi 3 and Pi 2 processors give the Pentium 3 a run for its money, though Intel are typically known for strong Floating Point arithmetic, it is typically known that GPU (Graphical Processing Units) are better for this these days and using the VideoCore in the Broadcom chip would likely perform better.


That and these latter processors were intended for desktop computers. There are are a lot of numbers which the software outputs, like the SysBench benchmark I have attached the spreadsheet containing all of the values to this blog post that you can find at the bottom.



This software is mainly intended to diagnose or test your system RAM (Random Access Memory). You can read more about it in its man page on linux. In this test I have put a limit on it, it is to only test 256mByte of RAM. This helps to make it a fair test across the different models of Raspberry Pi. If you are not aware, the Raspberry Pi shares its system RAM with the VideoCore processor, and it is not really recommended to deny the VideoCore processor from using any of the RAM available. So that means we cannot test the entire 512mByte or 1gByte of RAM available on the Pi 1 or Pi 2 and 3.


Memtester by itself does not time how long it takes to check the amount of memory we specify. However, we can set how many times it does it. There is also a command in Linux called 'time' which, when used in conjunction with a command, tells us how long it has taken for the command to run. Using this simple command we can check how long it has taken to test 256mByte of RAM on each Raspberry Pi:


sudo time memtester 256M 1

Raspberry Pi BoardTime Taken
1 Model B+76 minutes 23.296 seconds
2 Model B23 minutes 39.07 seconds
3 Model B8 minutes 37.078 seconds


The numbers speak for themselves, even though the RAM speed is pretty much the same being at least 400Mhz, evidently the limit is largely with the processor and we are seeing significant speed increases. In this case the Pi 3 is more than 50% faster than the Pi 2 at allocating and accessing RAM.


Roy's Benchmark Collection

There are a lot of tests. I mean, a lot. They range from whestone, ARMv6 specific tests, to ARMv7 and NEON tests. They also cover OpenGL and also memory tests deeper than by the ones previously in this blog post. So rather than go through every single test, I have compressed them together and attached them to this blog post.


I cannot cop out entirely though, can I? Well, I could, but I am not going to. Here are a few highlight comparison benchmarks from the text files that you can see as worthwhile to read:


Memory Reading Speed Test 32bit Version 4 (memSpeedPiA6)


Memory KBytes UsedDouble MB/S - Raspberry Pi 3 Model BDouble MB/S - Raspberry Pi 2 Model BDouble MB/S - Raspberry Pi 1 Model B+














































Now there is no doubt here that the Pi 3 is performing really well, what I am most interested in is the scaling from where it starts to drop off in performance. On both the Pi 2 and the Pi 1 we can clearly see that performance reduces at around the 32/16Kbyte used mark, but with the Pi 3 we do not start seeing degradation in speed until we hit 512kByte, though 16kByte is obviously a sweet spot even when we hit 1024kByte and above the drop is not as consistently severe as it is with the Pi 2. So there is obviously a fundamental change in how the hardware handles memory or pushes its numbers around.


NEON Speed Test v1.0


Raspberry Pi 3 Model BRaspberry Pi 2 Model B


NEON technology was added with the Raspberry Pi 2, so it is not possible to test it on the Pi 1 Model B+, however I had not seen any benchmarks that had actually put it to the test until now. This increase in speed result should mean that the Pi 3 is faster at handling calculations relating to video, vector graphics rendering (so gaming and 3D) and potentially audio processing. Again it is interesting to see the point at which the performance starts to fall off.


There was also another NEON related test, which was the Linpack Single Precision Benchmark. This related the speed to MFLOPS, the Pi 2 came in at 299.93 MFLOPS and the Pi 3 at 462.07 MFLOPS.


Worth it?

The Raspberry Pi 3 Model B is paving the way for not only a faster processor, but hopefully an inclination as to the future of the Raspberry Pi platform as a whole. The move over to supporting 64bit with the ARMv8 processor should allow the chip to be better supported by operating systems from now on. The addition of WiFi and Bluetooth on the board is welcomed by many, and this is one feature that I did not have time to benchmark. What I would love to do is compare the WiPi to the Broadcom on board WiFi to see what the throughput is like and to see if how the chip is now connected has improved the speeds at all. Though we may still be limited to the speed of connected storage (SDCard or even USB).


It would also have been nice to properly benchmark the OpenGL functionality of the VideoCore with the new open source driver and to compare that with the past iteration(s) of Raspberry Pi. Though it is likely there is negligable difference as shown by the comparisons between the benchmarks using Roy's OpenGL program (see attachment to this blog post), and it is nigh impossible to test is on the Raspberry Pi 1 range due to the low amount of supported RAM on the board.


Aside from the repeated call for "faster processor!" that people keep calling out, in some hope that a small board can replace their desktop computer, the Raspberry Pi 3 is still a gradual step in the right direction and the price of it is amazing. I find it highly commendable that the Pi Foundation have made everything backwards compatible so far, but this cannot last forever and the support for the systems will have to fracture somewhere as packages move over to 64bit, even if it does mean supporting them side by side. Time to educate the masses!


So, is it worth it?

Yes. Yes it is.


Bonus Coverage: Temperature

This was not by me, turns out the Raspberry Pi 3 runs hotter than previous models, enough that it should require a heatsink, and ventilation if contained. I discovered this was the case with the Raspberry Pi 2 overclocked to 1.1Ghz, so it makes sense. Though you will encounter people that claim the Raspberry Pi does not need cooling, I think we may see a change.




If I had a thermal camera, I would do a shot of every Raspberry Pi. That would be awesome. Oh, SOMEONE DID!

This blog tutorial will address taking advantage of features available in X Windows on the Raspberry Pi.


What is X Windows



From Wikipedia:

The X Window System (X11, or shortened to simply X, and sometimes informally X-Windows) is a windowing system for bitmap displays, common on UNIX-like computer operating systems.

X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard. X does not mandate the user interface — this is handled by individual programs. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces.

X's design requires the clients and server to operate separately...


Modern X implementations use Unix domain sockets for efficient connections ...


Taking advantage of this design


OK. What does this mean to us. What we now know is that X Windows is the windowing system for UNIX/GNU Linux type operating systems. We know that the client and the server operate separately, and we know that it uses sockets for communication.


Taking advantage of the fact that the client and the server operate separately and communicate through sockets, we can run the client (the GUI program) on one machine and display the output on another machine running an X server.


On a linux system, this is a trivial task. I currently run Ubuntu on my desktop, and my Raspberry Pi is connected to my local network. Without any special configuration I can log in to my Pi via ssh, start a GUI program, and have it display on my local monitor. This avoids the necessity of having an additional keyboard and monitor setup just for the pi.


unix screenshot


You'll notice that in the terminal, I started out on my desktop, onyx, did

ssh -X pi@raspberrypi.home


Notice I typed the ssh command with the -X argument. This allows X11 information to be forwarded. There are security implications to this, but I leave the research of those up to the reader. For a home development network this is probably not an issue.


once logged in there, I simply typed

geany &


to start the geany program, and it displayed locally. The & means to run the program in the background, and to return control of the terminal to the user.


If you look at the title bar of the application, you can see that it says


Geany (on raspberrypi)


and I am able to open files on the raspberrypi in the geany editor, and display them locally. I can hit F9 to compile, and F5 to run, and the output displays on my screen, as if I were running locally.

This saves the step of editing locally and copying the files to the pi, or of logging into the pi and running a text based editor, such as vi or nano. All of the processing takes place on the pi. The compilation, the save, and the execution. Only the display is forwarded.


Realize this capability takes no (with the exception of the editor, geany, but any gui program will work)  additional software other than what comes with both a standard Ubuntu installation on my desktop, and raspian, as distributed, for the pi.


What about windows users?


Fortunately, you are in luck. There are packages available that will give you the same capability. One such program is MobaXterm, available at MobaXterm free Xserver and tabbed SSH client for Windows . There is a free Home Edition and paid for professional edition that each provide a terminal, an X Server, and other tools. This is one of several packages, but this is the one I have been using when I work from a windows system. I'm not going to cover setup and installation, it was a typical windows install. Once it is installed though, this is what you can expect:


windows screenshot


This is a capability I have taken advantage of for years that I get the feeling people new to the Raspberry Pi and linux world are not aware of. This is a great way to take advantage of your existing hardware without having to setup vnc or any other type of screen sharing system. It allows you to only display the applications that you are using integrated seamlessly into your current desktop.


Bear in mind, there are configurations, network setups, etc..., that can cause this not to work as easily as I have demonstrated above, I would urge you to search google for the answers for issues you encounter if you decide to attempt this. This technology is 20+ years old, and there is a wealth of information for it already on the net.


If you were aware of this prior to this post and have something to add, please leave a comment, if this is new to you, I hope it helps.


BTW, this is not limited to the Raspberry PI, this works on odroids, beagle bones, and pretty much any of the SBCs running a variant of linux, It also works the other way as well, if you have a ras pi with a monitor and keyboard connected, you can login to another pi or unix machine on your network and do the same thing.


One Comcast customer has a Raspberry Pi complain to the company every time his fast connection becomes too slow.

There’s nothing more frustrating than dealing with slow Internet at home, especially when you’re paying a steep premium for a fast connection speed. Washington, DC-basedReddit user and Comcast customer AlekseyP came up with an interesting solution for this problem. Instead of wasting time calling up Comcast over the issue, he is using the power of Raspberry Pi to complain to the Internet Service Provider over Twitter under the name @A_Comcast_User.

Every hour, AlekseyP’s Raspberry Pi (he didn’t specify which model) runs Internet speed tests and then stores that data. If his Internet speed drops below 50 megabits per second, the Pi tweets at Comcast about the slow speeds. AlekseyP says he pays for 150mbps down and 10mbps up.

Since AlekseyP’s Twitter script went live on October 30, his bot has tweeted at Comcast 16 times over Internet connection speeds. He says Internet usage at home is not causing the drop in bandwidth. In fact, he says that many times the tweets happened when no one was at home, or late at night when everyone was asleep.

Comcast tends to respond to most direct consumer complaints on Twitter and in this respect the company hasn’t failed AlekseyP. But the Reddit user declines Comcast’s request for help every time it’s offered. “I have chosen not to provide them my account or address because I do not want to singled out as a customer; all their customers deserve the speeds they advertise,” he said on Reddit.


The impact on you at home: If you’re a Comcast customer, or with another ISP that handles customer service on Twitter, you can play along with a Raspberry Pi, too. AlekseyP posted the code to his Python script on Pastebin. This code will help get you started, but you’ll also need to install dependent programs and utilities such as speedtest-cli, a command line interface program that tests your bandwidth speeds via Python, the core scripting language behind the tool, should already be installed on your Raspberry Pi’s operating system.

Filter Blog

By date: By tag: