Benchmarking The Raspberry Pi 2

The Raspberry Pi has only been available for a few days, but already those boards are heading through the post office and onto workbenches around the world. From the initial impressions, we already know this quad-core ARMv7 system boots in about half the time, but other than that, there aren’t many real benchmarks that compare the new Raspberry Pi 2 to the older Raspi 1 or other similar tiny Linux dev boards. This is the post that fixes that.

A word of warning, though: these are benchmarks, and benchmarks aren’t real-world use cases. However, we can glean a little bit of information about the true performance of the Raspberry Pi 2 with a few simple tools.

For these tests, I’ve used Roy Longbottom’s Raspberry Pi benchmarking tools, nbench, and a few custom tools to determine how fast both hardware versions of the Raspberry are in real-world use cases.

Double Precision Linpack

Raspberry Pi Model B+ (700 MHz):    40.64 Mflops
Raspberry Pi 2 Model B (1000 MHz)*: 92.88 Mflops

*using one core

Dhrystone Version 2.1

Raspberry Pi Model B+ (700 MHz):    Dhrystones per Second: 1481481
                                    VAX MIPS rating = 843.19
Raspberry Pi 2 Model B (1000 MHz)*: Dhrystones per Second: 2085024
                                    VAX MIPS rating = 1186.70

*using one core

OpenGL

There were a few questions if the graphics capability of the Raspberry Pi 2 have been improved. Luckily, we can test this easily. As expected, there is no appreciable difference in the OpenGL capability of the Raspi 1 and Raspi 2. Both tests were run at 1280×720 resolution:

Raspberry Pi Model B+ (700 MHz):
                                 Triangles WireFrame Shaded Shaded+ Textured
                                 900+      120.02    120.01 84.77   76.70
                                 9000+     39.23     39.16  29.29   22.75
                                 18000+    19.91     19.86  16.98   12.67
                                 36000+    9.98      10.00  9.21    6.68

Raspberry Pi 2 Model B (1000 MHz)*:
                                 Triangles WireFrame Shaded Shaded+ Textured
                                 900+      120.10    120.00 88.26   80.84
                                 9000+     40.77     40.61  30.45   24.19
                                 18000+    20.68     20.62  17.64   13.63
                                 36000+    10.39     10.37  9.57    7.35
*using one core

Single Core Python Performance

Finally, a real-world use case. Being able to do stuff fast in Python is a big part of what makes the Raspberry Pi cool, and there’s a simple, somewhat standard way of figuring this out: finding all the prime numbers below 1 million. Both of these tests were run with Python 2. The Raspberry Pi 2 was only using one core. The Raspi 2 ended up being more than twice as fast as the Raspi 1; the Raspi 1 completed the task in 51 minutes, the Raspi 2 in 21 minutes.

Raspberry Pi Model B+ (700 MHz):
found 78497 primes under 1 million in 51:32.034

Raspberry Pi 2 Model B (1000 MHz)*:
found 78497 primes under 1 million in 21:19.825

*using one core

Raspi 2 vs. BeagleBone Black

The fight everyone has been waiting for. As of a week ago, if you wanted a relatively high-power board with a great community, you were looking at the BeagleBone. Now, not so much. With nbench, the single-core performance of the Raspi 2 is very comparable to the BeagleBone Black:

nbench

Raspberry Pi Model B+ (700 MHz):
                                 INTEGER INDEX :        16.100
                                 FLOATING-POINT INDEX : 5.568

Raspberry Pi 2 Model B (1000 MHz)*:
                                 INTEGER INDEX :        22.322
                                 FLOATING-POINT INDEX:  9.578

BeagleBone Black (1000 MHz):
                                 INTEGER INDEX :        23.314
                                 FLOATING-POINT INDEX:  2.976
*using one core

For integer performance, the Raspi 2 handedly beats the Raspi 1. The Raspi 2 and BB Black are comparable. Floating point is oddly low on the BeagleBone Black, and I’m going to chalk that up to me not setting the compiler options correctly.

The stuff I should have put in the lede

Retro console emulation! Mario Kart and Ocarina of Time and Conker’s Bad Fur Day! Nobody actually builds stuff with the Raspberry Pi, it’s just an odd form of nostalgic consumerism wrapped up in a faddish ‘making’ trend!

The original Raspberry Pi saw a lot of emulator use, but it was limited: the Pi 1 could handle the NES, SNES, Genesis/Mega Drive, and other earlier consoles with ease. Emulator performance for N64 and original Playstation games was just barely unplayable. Now, the Raspi 2 can easily handle N64 and PSX games. [HoZyVN] tried out N64’s Mario Kart and PSX’s Spyro the Dragon. They’re playable, and an entire generation rushed out to Microcenter to relive their glory days of sitting with their faces embedded in a console television drinking Sunny D all day.

Conclusion

The original Raspberry Pi was an interesting educational tool, but it was not a usable computer. I used a Raspi 1 as a workbench computer for about a week. It was slow, and it was terrible. The Raspberry Pi 2 is perfectly usable as a small, cheap, and portable desktop system, and the added power opens up a few doors on what’s is possible with a $35 computer.

When you consider the community support of the Raspberry Pi, thousands of random libraries on Github, and a huge amount of boards that already exist for the Raspberry Pi, this is probably the best small Linux board available today. If you need anything more powerful, you’ll be moving up to a ‘real’ laptop or desktop.

136 thoughts on “Benchmarking The Raspberry Pi 2

      1. Actually a Cray from 1984 had a comparable performance in Flops. Cray X-MP: 400 MFLOPS (and this is theoretical peak performance AFAIK). The PIs Cortex A-7 cores can each deliver > 100 MFLOPS @ 1GHz in real world applications (not benchmarks), see here: http://wits-hep.blogspot.de/2013/12/fftw-benchmarks-on-cortex-a7.html . So conservatively estimated, the combined single precision Flops performance from all 4 cores should be close to 400 MFLOPS even in real life applications, Remember, back then those Cray beasts were export-restricted because of the evil things you could do with them (simulate nuclear tests etc… )

    1. To use the same practical metric as this article:
      The pre MMX Pentium chips struggled to emulate an SNES, and the best in class emulator (ZSNES) that really made it usable had to be coded largely in assembly to make it work.

  1. I’ll point out that your Pi benchmarking tools (and kernel, and Python interpreter) are all compiled for ARM6, so they won’t take full advantage of the ARM7 in the Pi2

    so performance should end up improving even more wiith some careful optimizations

        1. Well, y’know, a fast CPU without good IO isn’t so useful for some tasks… just adding to the discussion, why so hostile?

          And if we don’t care about IO, the difference between a 1.5GHz A5 vs 900 MHz A7 is kinda academic. Even if an A7 is a full 20% faster than the A5 per core (as ARMs literature suggests here: http://www.arm.com/products/processors/cortex-a/, which I’d suggest is probably only the case if using their toolchain with full optimisation tricks enabled), that doesn’t account for the 66% increase in raw clock speed of the C1 vs PI 2.

          Would be interested to see how the memory interfaces stack up though C1 has a 32-bit wide DDR3. Pi 2 has LPDDR2, though I haven’t found the width yet.

      1. It’s true. I checked Allwinner’s chips family datasheets and only A20 has SATA interface. Lack of SATA is preety significant disadvantage due the fact very few USB->SATA converters/cases works properly with large SATA disk. eSATA interface of BananaPi has no problem at all to work with 4-6GB drives.

      1. HDMI Capture thingy? Got a cell phone?

        I was getting some assistance form one of my colleagues overseas – through a series of issues, I couldn’t send him a screen shot without disconnecting from the corporate VPN, copying a to another local PC reconnecting to the VPN reestablishing the connection onteh remote end and sending the screenshot from the there PC. Did that a few times, then realized I could push a few buttons on my phone and send him a screenshot…brilliant!

        Suppose that doesn’t fix your SD card on the PI thing…except your phone probably has a uSD card in it, and there is a uSD to SD converter lying in a puddle of dust behind your monitor….

  2. Floating point is oddly low on the BeagleBone Black, and I’m going to chalk that up to me not setting the compiler options correctly.

    Unfortunately that’s not true. We made some benchmarks with the Raspberry Pi B vs. Beagle Bone Black last yeat and came to the very same conclusions. AFAIR the floating point unit in the BBB is actually worse than the one on RPi. Even the 700 MHz RPi has more FPU power than a 1 GHz BBB.

  3. “The original Raspberry Pi was an interesting educational tool, but it was not a usable computer.”

    I strongly disagree. It was very usable, but within limitations. One of the “limitations” was that it fell below some users’ expectations, some of which were unrealistic given the hardware resources. On the other hand, very many other users found it ideal for their needs.

    1. Totally agree with you on this: the conclusion that the original Raspberry Pi was not a usable computer, but this one is, can only have been based on the expectations of the reviewer, who seems to think that the only thing anybody would ever use an RPi for is game emulation.

      1. Nope, the author is right, I tried the webbroswer on the raspi B+ and immediately (as immediate you can get after waiting a long time for pages to load) realized that the only use for that is when all your computers get destroyed and you need emergency web access to order a new one.

        And as for the raspi2. I’ll hold of on deciding until I see it myself. I’m not too optimistic about it though, it’s a cute device the raspi, but no, not really a desktop computer.

        1. I say it is a usable computer. Just not a desktop/laptop/phone phone replacement. I agree web browsing on the Pi was painfully slow. I should rather say it is a usable appliance. Makes for a good media center player, and I have a second one in use as a security DVR/bell ringer (runs a cron job on schedule to play an audio file for a class bell).

          1. I would agree that most people carry a phone in their pockets that is infinitely more useful than the pi. Even worst case scenario, you can hdmi out and bt keyboard and input device or usb otg. You can get an outdated phone for a similar price that has all the missing pieces. I “get it” as some sort of avr kinda upgrade for home projects but agree with others that the education tag is just whitewashing. Even if they don the wool of a “Foundation” and come up with cute names, it still seems a little disingenuous. I like your description as usable :)

        2. I’ve run surf browser (webkit) on a pentium II 400Mhz 128mb Ram 1.5Mb Video mem Sony Vaio. You could forget video streaming. But, sites like facebook loaded fine (javascript diables via keyboard short cut). For many practical uses it performed surprisingly well. I was using NetBSD, but Linux (depending on configuration) would have performed similar. With just a hair better of a video card I could have probably watched youtube videos via the get_flash_videos script. I almost had x264 playback that synced with the AAC audio, via SDL. Maybe I would have too, but the machine needed new thermal grease to cool properly. If it had been a S3 video chip instead of a NeoMagic, thing might have ran smoother. I’m sure plenty of folks will still get good use out of their original RP, especially if they aren’t addicted to Javascript (Lynx).

          I just hope that video playback on the RP2 will be possible and bearable with out use of the GPU. I’m kinda stubborn and have no interest in using the binary blob. I might be better off using an all-winner board. I really don’t know the GPU support there either.

          1. Facebook on a Pentium II @ 400 Mhz will not work now a day because the Video auto Play now which will Crimple the Pentium II as the Raspberry B+ would Do much Better – Derf

          2. @Derf
            You are right about FB “Video Autoplayr”. If I actually used facebook and had to do so with a PII, I would disable JS after login. I would then only re-enable it to logout.

            I completely agree that a RP B+ would do better. You could leave the JS enabled the whole time (even if you did not have the GPU accel. enabled).

        3. A computer is not just a web browser. I’ve got two Raspi B, one is set as an in-house web server and the other is my Ada and ARM C/asm development platform. I’ve tinkered with the OpenGL stuff available, but my intended projects were hampered by the CPU making the B 2 look really useful. But to the point, as a web server and edge facing VPN or blog platform (dynamic dns wins) or even just a shell for hacking on, a multitude of things that we often outsource to other hosts are easy to run on the RPi B, or the B+.

    2. LOL. Well I tried to replace my $3000 gaming machine with the original Pi and was sorely disappointed. I so wanted my $35 (plus a little) to send Intel / microsoft to the dust bin. So what the heck, perhaps I could replace my SQL Server with it eh? Nope, disappointed again. One last attempt to make it useful, I tried to replace my VM server with it. Heck, it runs Linux right? And Linux is supposed to do VMs really well right. Sigh. What a useless piece o crap. Why in the world would 3.5 million of these sell if they can’t even replace my stinkin gaming machine?

      :)

      And THEN an entire industry springs up around making other boards just a little more powerful. None of those can replace any of my servers or my gaming machine either. LOSERS!!!

      ;)

      1. They weren’t designed with the idea that they’d straight-out replace servers and desktop computers. You spent $3k on a computer then whine about a $35 board? I can’t decide if you’re an incredibly bored troll or really, really stupid (going for the latter although ANYONE can talk about servers and VPNs with a few minutes’ work on Google).

        1. noun: irony

          the expression of one’s meaning by using language that normally signifies the opposite, typically for humorous or emphatic effect.

          a state of affairs or an event that seems deliberately contrary to what one expects and is often wryly amusing as a result.

          1. LOL, Thanks Leonard!

            I was obliquely addressing all the eejits (trolls) who come to these threads to discuss how useless the Raspberry Pi is. I would have thought that the reference to SQL Server, a SQUARELY Microsoft / Windows database server that cannot even run on Linux would have been a clue.

            Just no helping the clueless me thinks.

  4. So, using it for cycle-accurate (and therefore hardware-accurate) emulation isn’t so much a question of “What the hell were you thinking” anymore, at least, but it’s still a “There, there, perhaps you misread the specs”? Still won’t be buying one.

  5. [quote]If you need anything more powerful, you’ll be moving up to a ‘real’ laptop or desktop.[/quote]

    Or, you could move up to an ODROID-XU3 (or the XU3-Lite), which gives you heterogenous multi-processing on an 8-core ARM Cortex A15/A7 SoC for $179 (or ~$100 for the Lite version). It even has two USB3 controllers and an eMMC v5.0 module option.

    I used Hardkernel’s ODROID-X2 for more than a year as a desktop replacement, and it is pretty limited compared to the XU3 (which is definitely the next thing I will buy from my computer stuff wishlist).

    Granted, the C1 isn’t as mature a device as the RPi, and the fact that the RPi2-B’s board is exactly the same as the RPi-B — except for the CPU portion of the SoC and the bump in RAM — means that a recompile is all that’s needed to take full advantage of most of the libs available for the original RPi on the new one (technically, you might not even need a recompile if everything is statically linked).

    1. And why would you replace your desktop with a $179 ARM based SoC, anyway? Computers are dirt cheap. Now, at $35 I can understand in a poor country (here in the US, I can buy older $35 PCs all day long), but $179?

      I am genuinely curious.

      1. I think the X2 I used for the longest time cost me something like $120. The XU and XU3 were a significant jump in price for ODROID dev boards. The XU3-Lite is only around $100, though (it doesn’t have the DisplayPort connector, the onboard power/current sensors, and uses a cheaper, slightly inferior speed-rated version of the Exynos 5422 compared to the XU3).

        I guess at $180 you could buy a fairly usable refurbished or used X86 laptop/desktop instead of an ARM dev board. I liked that it didn’t change the temperature of the room I was in (my desktop’s GPU stays pegged at its highest clock and 80C as long as you have two monitors hooked up to it, regardless of whether anything 3D is being rendered :(((( ). I still booted up my desktop for gaming and graphic design work. On the other hand, my desktop doesn’t have a handful of GPIOs to play with, nor is it an exciting new architecture to work with.

        1. I have a cheap Chinese AndroidTV box (Allwinner based) that I use like a desktop with Linux on it mainly for compiling code since cross-platform development and toolchains are beyond me at this point. So, there is some sanity to it. But it will never replace my actual desktop. I live in the Northern US, so heating my house with the PC is kind of a bonus, actually. :)

      1. Dynamically linked?

        I’m not sure what you mean by this, but I’m going to assume you are talking about the issues Samsung had with the Exynos 5410 and 5420 SoCs, which because of a cache sharing issue weren’t able to run the A15 cores at the same time as the A7 cores. The Exynos 5422 doesn’t suffer from that problem, and is capable of truly running all 8 cores or any combination of A15 and A7 cores as needed to save energy while providing the best performance for all running processes. There are, of course, some issues on the software side trying to properly leverage the capabilities of the hardware (HMP is a pretty new concept, in practice).

        The ODROID-XU3 (and the Lite version) do actually distribute threads to cores based on how much processor time they are trying to use. From what I hear, the XU3s perform better than the Intel Atom systems (and possibly meets the performance of some of the slower [mobile] Core-i3 chips). I’m not sure the Linux kernel does a great job of saving power as could be possible with HMP, but it is neat how idle processes can be swapped out to the A7 cores to give your user-facing CPU-intensive processes even more processor time.

    2. The big difference is that the XU3 has a display port output and supports more than one monitor. This might be one of the only Arm SBCs to do this, maybe the Jetson does it, dunno. If you were going to make a DIY tablet or laptop the XU3 isnt that bad of a choice.

      XU3Lite doesn’t have this.

    1. Could you expand ion that a bit? Perhaps itemize some of the things you think should be fixed.

      Who knows, maybe they’ll read it and change things in a raspi 3.

      I hear people asking for SATA ports, but is the raspi reality reliable enough to trust with a HD? And fast enough to shuffle the data? I think the want for a gigabit LAN port is more realistic.And for some dedicated audio, with audio-in maybe, but for that you can use USB too of course.

      1. Really? You think it hasn’t been said a million times already since the Raspberry Pi A?

        If they haven’t listened in 3 years, I really doubt they will listen now.

        I’ll hold off on creating carpal tunnel syndrome for another cause, I think.

          1. Chris, they obviously haven’t listened to ANYONE, because what have they fucking changed? They put a faster processor on the board. Nothing else has changed. Nothing. They are even using the same crappy processor line with the same restricted blobs.

            But don’t worry, Mr. Business Genius. In a few more years nobody will even know what a Raspberry Pi is. It has survived this long on buzz alone. Buzz that has been turning against them for quite some time, Mr. Smartass. I am hardly alone.

            MANY other boards are out there now in a competitive price range and with much less restrictions and better design decisions.

            It’s only a matter of time.

    2. “They managed to keep all the things nobody liked”

      Well the #1 complaint about the raspberry pi was “IT’S TOO SLOW”

      but hey that fantasy universe of yours apparently has its own rules

      1. Have you sold 3.5 million of anything? No? So are you saying all 3.5 million people didn’t like it? Are you just one of those feeble trolls that hides behind his desk and rubbishes anything that doesn’t do what he wants? Sounds like it. Stay classy in your dark room, jw!

  6. What’s the point of releasing a severely underclocked arm, when all competitors have at least double the clock speed with the same 4 cores or even more + DDR3 instead of LPDDR2? (allwinner, rockchip, exynos/odroid).

    1. Exactly. And for around the same cost.

      If it weren’t for the community behind it providing useful applications and talent for free….

      That’s arguably the only thing keeping the Pi alive

    2. Because every booger-eatin moron has skipped over that ARMv7 architectures (ARM A15, ARM A7)can support hardware virtualization.

      This seems lost on everyone.

      The Pi2 needs more RAM, 2GB to be really useful in this way IMHO, but its a start.

      If they release a Pi2B with 2GB ram i’d pick one up.

      Supporting A7s means supporting A15 + A7s in a new big.little SOC is the next logical step for the Pi2B or Pi3 etc.

    3. Necromant, I seem to be missing all of these competitors with the quad cores, double the speed etc. at anywhere close to $35.

      I found this:

      http://en.wikipedia.org/wiki/Comparison_of_single-board_computers

      and have been tracking down each one of those with multiple cores or higher clock speed (or both) but there aren’t really all that many, and most of the ones I have found can be quite pricy.

      I have in fact been looking for just those machines because I want to build out a parallel cluster machine using a bunch of these things. Yes there are a handful with 4 or more cores, but they tend to be north of $65, some even north of $100. And that is fine of course for some uses, but when you start looking at buying 8 or 16 or 32 of them, all of a sudden they don’t look so good, at least on my budget..

      I bought the BeagleBone Black, not for a cluster but because it has a TON of IO plus the eMMC with the OS right onboard. Plus the 2 risc controllers for realtime I/O. It was slightly more but I got something real that I specifically wanted. In 1997 I designed a debit card vending machine using a Z-World SBC, and it was fun! It did cost way more than the Pi, even in the “several hundred” quantities we were buying. The BBB is way more power and way more I/O than what I used way back then.

      I am hearing rumors of a new BeagleBoard 2 with dual core A15 at 1.5 ghz and 2 gigs RAM. THAT would be an awesome machine. And of course… what is the cost? Looking like north of $100. And the board is physically bigger.

      http://elinux.org/Beagleboard:BeagleBoard-X15

      I was looking long and hard at the Banana Pi because of the Sata port, but it is significantly more. Banana Pi M2 is coming, but loses Sata.

      With the quad core Pi 2 coming, I am looking at starting my Parallel Cluster utilizing those. In fact I have 4 on order from NewEgg. AFAICT, at $35 plus tax and a couple of bucks for a tiny sd card to boot from, the price and power has no competitor for buying in bulk for a cluster.

      In the end, each one of these things has a specific set of uses cases and don’t match others. The Pi 2 is far from useless. I can get 4 machines, totaling 16 cores and 4 gigs RAM for about $200 shipped. That’s a tidy start to a parallel cluster.

      1. You can grab Android TV sticks in bulk from aliexpress, break out UART and voila. There are a dozen variants out there that differ in hardware and processing power. Cheapest – allwinner a10 + 1GB RAM/4GB NAND are about 25-26 bucks now. rk3188 (quad cores) are about 43 bucks. they may be a little more expensive than rPi but pack more power.
        Personally I am using mostly allwinner a10 sticks in my household where needed (e.g. 3d printer, cutter, and CNC control, surveilance, etc). Got about 10 in bulk from ali. They are all way smaller than rpi, pack more processing power with decent cpufreq.
        The only bad thing is – sometimes you have to resort to kernel hackery to get all things up and running, but the result is worth time invested.

  7. “The Raspberry Pi has only been available for a few days”

    Well I am amazed we have had the Pi here in Australia for years – I knew you yanks were a bit backwards (let’s face it it took years for you to latch on to the Beatles, the Bee Gees, and the winged keel) but really…

  8. “Floating point is oddly low on the BeagleBone Black, and I’m going to chalk that up to me not setting the compiler options correctly.”

    Nope, it’s normal. Cortex-A8 has a gimped non-pipelined FPU, called VFP-lite. This is where the crusty ARM11 actually has a noticeable edge compared to Cortex-A8. :) The Cortex-A7 has a proper FPU plus some other improvements, so it just destroys the A8 here.

  9. On the educational tool aspect of the raspi; what I think people don’t get that for a classroom situation the teacher has to be able to get it too, and teacher are often completely unfamiliar with electronics and programing and such. So that’s why having a simple well supported platform with youtubes and simple instructions and some experimenting software out of the box is the option they can go for, the teacher can pick up the basics and watch some instructional youtues and then introduce the thing to kids.

    1. That is precisely why the Raspberry Pi is next to useless as an educational tool even today IMHO. I teach Engineering, CAD, Drafting and Electronics at a High School and I can say that the Arduino is worlds more useful as an educational tool. It is basic, very inexpensive(<$5 for clones) and easy to implement even for students who are just beginning electronics. If we want to get more students interested in programming, an outdated dual core laptop for $50-100 is a much better platform(these are plentiful on Ebay). USB to GPIO boards are pretty inexpensive to purchase these days and most older laptops even have serial and parallel ports that can be setup to easily access all kinds of devices and sensors.

  10. Floating point is oddly low on the BeagleBone Black, and I’m going to chalk that up to me not setting the compiler options correctly.

    Maybe not. We did some benchmarks on RPi Model B and BBB last year and stumbled about the same issue. Apparently the RPi has a more powerful FPU so even a 700 MHz RPi beats a 1000 MHz BBB in floating point operations.

    See e.g. https://learn.adafruit.com/embedded-linux-board-comparison/performance for an explanation.

  11. What I want to know is can I use it with an RTL-SDR stick to listen to FM broadcast radio in stereo without glitches AND still have a responsive UI. If so then this may be the brains of my first car computer.

    (Why use an RTL-SDR just for FM broadcast? Because I really want it to be a all-mode wideband communications receiver. FM broadcast, being stereo is probably the hardest analog mode to do well so if it can do that then it’s good)

    1. I like this idea, you can also have an emergency services band scanner radio in there. You would even be able to pick up the aircraft band, something many commercial scanners can’t do (they are usually FM mode only and the US Aircraft band is AM).

  12. i’d love to see benchmarks versus a P4 Intel based system. I’m guessing this Unlike the Pi before it would outshine the system I have out in my garage (sans the storage capabilities).

  13. And they *still* haven’t released (as far as I’ve searched) a single cheap Linux devboard with 5V-tolerant I/O, even if it was just buffers on a subset of the I/O pins. Really?

    Why can’t I have an easy-to-build project that is CPU-intensive. It’s one or the other. Arduino and friends for easy-to-connect peripherals and Pis, O-Linuxinos, BBBs and Odroids for anything slightly more CPU/RAM-intensive. If I want 5V-IO I basically need to add an ancient uC board as an expander.

    1. 5 volt tolerant IO? yes but what good is a computer without a 20 mA current loop interface? why it’s just useless if I can’t plug in my ASR-33 teletype

      yes indeed computers are also useless without ECL compatible inputs, what use is a computer if i can’t plug in the peripheral cards from my old cray-1

      1. This is a devboard, not your standard computer. Its strong points are a welth of GPIOs, UARTs, SPI and I2C interfaces. These interfaces could be significantly easier to use if you don’t need another board in front of them,

    2. 5V logic is becoming increasingly rare in computers and electronics. The advantage of 5V logic (and the reason RS-232, which used up to +/-15V) is that you can overcome some noise issues and it allows you to run longer cables between components. In a modern computer/device, running those higher voltages just eats more battery power and doesn’t gain you any advantages. You generally aren’t trying to run cables several feet between your RPi and the sensor/device, so you are just wasting power.

      All of these ARM dev boards are using SoCs that were originally developed for mobile devices, so they use no more than 3.3V logic (all the ODROIDs except for the C1 use 1.8V logic!). Most of the sensors/breakout boards in Adafruit’s store seem to use 3.3V logic, and they add logic level converters to the breakouts to make them compatible with Arduinos. I have been using a Teensy 3.1, and I really don’t have any issues adding sensors and serial devices to it. I bought a handful of logic level converters, and I haven’t had to use a single one of them.

      If you really do need to use 5V logic, you are just going to be stuck using a logic level converter. The only time I can think of needing one is for communicating with an Arduino. I would generally just use USB to communicate with the Arduino or take the Arduino out of the equation altogether and communicate directly with the sensors. If I ever decide to use one of my 1.8V ODROIDs, I would most likely just pop a Teensy in there to talk to the sensors unless I only needed to talk to one or two sensors, in which case I would actually get to use one of my lonely logic level converters.

      1. That’s all true, but at this time the servos and LEDs on the maker market are still 5V. In drones / RC hobbies it’s pretty much a standard (but yes, many of the peripherals are Atmega8 based, almost arduinos).

        Adding a teensy or an arduino as an expander is usually the solution because it costs less time, weight and money than individual level-shifters. It’s a small effort and size & weight increase but it’s double that of using a single board.

        I’m not saying all pins should be 5V tolerant or that all boards should have such those pins but they should if they’re marketed for makers and education

      2. Servo (PWM based one) input only, so you can use them with 3.3V logic as is.

        5V logic has been around for 50 years, and the transition to 3.3V logic has been going on for the last 20 years or so. I found it very odd that was even before some of you that started in electronics and yet you didn’t learn with the 3.3V parts.

        It is not like the industry changed that last month just to spite you. It is because when they shrink chip to smaller geometries, the chips can no longer handle the high electric fields.. So for any new parts, you’ll find the voltages starts going down. We are already at a point having to deal with 3.3V tolerant.

        Evolve or be obsoleted! 20 years is a long time for anything technology related area.

        1. The user won’t care what voltage the CPU logic is at and why, only whether the actual GPIO pins on the board can accept input from the peripheral and it may be through a level shifter or any other way. Also it’s not very important what the industry prevailing voltage is, both 3.3V and 5V (and more) are in use and a person starting out with electronics or a maker prototyping a project should be able to use either like they can even with silly Arduinos.

        1. Yes, the awesomely cheap Pro Mini clones from aliexpress.com can be had in 3.3 and 5V versions, as well as 8 and 16MHz. There are a few ARM-based arduino-like boards too (teensies, LPC1343 quickstart, mbeds) all natively 3.3V but 5V-tolerant.

    3. Or maybe, just maybe, level conversion is not such a big deal? Unless you have really high speed signals, it’s simple. Resistor voltage dividers, 74HCT TTL gates, transistors/MOSFETs, etc… lots of simple methods exist, even for bidirectional busses like I2C.

      BTW, if you just want 5V tolerant inputs, a simple 10K series resistor will do, the internal clamping diodes will do the rest.

    4. BTW the reason why they choose 3.3V is because it is 66% of Vcc for 5V which happens to be the minimum high threshold of CMOS logic. (TTL has threshold level is below that, so not an issue.) That means that a 3.3V chip output can be connected to a 5V and be recognized.

      Not sure where the fuzz is all about when it comes to driving logic level (to a 5V chip) from a 3.3V part. May be someone should read the datasheet?

  14. Brian could you test/compare USB and SD controller speeds? something as simple as transferring to/from /dev/null while simultaneously monitoring cpu utilization (top or mpstat -P ALL) please?

    Its a slim chance, but maybe, just maybe they fixed USB controller.

  15. “Single Core Python Performance” to calculate primes is a very poor test.
    51 minutes on a B/B+ and 21 minutes on a 2B.

    I ran the same test on a Banana Pi and piped all output to /dev/null so as to be not measuring the time to update the screen as well (technically since I was connected via ssh, this would be measuring my network performance as well).

    1 minute 42 seconds in case anyone was wondering.
    ~/benchmark # time python findprime.py 2>&1 >/dev/null :(
    python findprime.py 2>&1 > /dev/null 102.51s user 0.04s system 99% cpu 1:42.55 total
    ~/benchmark # time python findprime.py
    Starting …

    Prime : 3
    … snip …
    Prime : 999983

    Found 78497 primes in 0:01:47.146641

    python findprime.py 102.24s user 2.34s system 97% cpu 1:47.27 total
    ~/benchmark #

    Five seconds were spend updating the screen or 5% extra error in the measurement.

  16. For the mbench results on the RPi2B you would get better results if you edited the Makefile and change the following line:
    Before:
    CFLAGS = -s -static -Wall -O3
    After:
    CFLAGS = -s -static -Wall -O3 -mfpu=neon -mcpu=cortex-a7 -mtune=cortex-a7 -fomit-frame-pointer -marm -funroll-loops

    1. Vroom! Vroom! There’s no need to specify -mtune if it’s the same as -mcpu. Also, there’s a huge advantage to staying in the code cache, so you really need to measure the effects of options like -O3 and loop unrolling.

      1. All I’m suggesting is that when stress testing/benchmarking, that you should at least tune a little bit to actually get the best performance out of the hardware possible. As for the repetition, I just copied (and modified the ARM CFLAG arguments from here – http://linux-sunxi.org/Benchmarks ). And for the loop unrolling and omit-frame-pointer flags it is what is suggested to use by the comments in the nbench Makefile, but it is not used by default because it causes “”internal compiler error” with gcc-2.7.2.3 or earlier, on DEC Ultra 4.0b. i.e. the basic optimisation is not optimal for anything but really really old (R.I.P.) hardware.

        Below are the results, using a few different compile options, for a normally clocked Banana Pi (I don’t own a RPi2B yet), And with all tests using nbench, it is using a single core only:
        CFLAGS = -s -static -Wall
        INTEGER INDEX : 5.459
        FLOATING-POINT INDEX: 2.854

        CFLAGS = -s -static -Wall -O3
        INTEGER INDEX : 23.096
        FLOATING-POINT INDEX: 8.875

        CFLAGS = -s -static -Wall -O3 -fomit-frame-pointer -funroll-loops
        INTEGER INDEX : 24.310
        FLOATING-POINT INDEX: 8.868

        CFLAGS = -s -static -Wall -O3 -mfpu=neon -mcpu=cortex-a8 -mtune=cortex-a8 -fomit-frame-pointer -marm -funroll-loops
        INTEGER INDEX : 25.289
        FLOATING-POINT INDEX: 8.945

        CFLAGS = -s -static -Wall -O3 -mfpu=neon -mcpu=cortex-a7 -fomit-frame-pointer -marm -funroll-loops
        INTEGER INDEX : 26.507
        FLOATING-POINT INDEX: 9.372

        CFLAGS = -s -static -Wall -O3 -mfpu=neon -mcpu=cortex-a7 -mtune=cortex-a7 -fomit-frame-pointer -marm -funroll
        -loops
        INTEGER INDEX : 26.546
        FLOATING-POINT INDEX: 9.418

        The benchmark is about 5-10% better, not that much really, but if in the case of the RPi2B that would add up to 20-40% across the 4 ARM cores.Or 10-20% better in a Banana Pi/Pro since it only has 2 cores.

        1. >The benchmark is about 5-10% better, not that much really, but if in the case of
          >the RPi2B that would add up to 20-40% across the 4 ARM cores.
          > Or 10-20% better in a Banana Pi/Pro since it only has 2 cores.

          Ahem…that’s like saying: I’ll give a 2% pay rise to a department of 10 workers, so labor cost will be up 20% in that department.

          1. True. What I should have said was that the relative total performance increase should be greater on a RPi2B with its 4 cores when compared to the BPi with only 2 cores. Or 2 cores are Ok, 4 cores should be better (provided the program can use 4+ threads).

  17. “Nobody actually builds stuff with the Raspberry Pi, it’s just an odd form of nostalgic consumerism wrapped up in a faddish ‘making’ trend!…”

    I present Brian Benchoff the “Pi head” award

  18. Does anybody know what power consumption is like? The old Raspi was kind of a pig especially when idle (e.g., many times slower than pandaboard yet 6 times the power consumption when idle/lightly loaded); orig raspi had linear voltage regulators that sucked up power.

    More interested in idle/close to idle than peak, but peak would be great to know too.

    Thanks!

    1. Power consumption is said to be back to the level of the original B model (not bad for 5-6 times the performance). You’ll find some tests via Google. Those suboptimal regulators of the first generation Pis were already improved when the B+ and A+ models came out.

Leave a Reply to MarkCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.