Linux Debian BeagleboneBlack Speed verses Pi3

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
jcdammeyer
 
Posts: 26
Joined: Mon Mar 24, 2014 11:49 am

Linux Debian BeagleboneBlack Speed verses Pi3

Post by jcdammeyer »

Contrary to benchmarks posted I'm finding the Pi3 to be between 2 and 3 times as fast as a BBB Rev C. I've not tried actual code benchmarks but just the overall usability with Debian Jesse 8.6. Perhaps some background is in order.
Starting with a fresh 16GB 80MB/sec SD card I've installed a fresh Debian, done the usual apt-get update and upgrade:
john@beaglebone:~$ cat /etc/dogtag
BeagleBoard.org Debian Image 2016-11-06
Linux beaglebone 4.4.30-ti-r64 #1 SMP Fri Nov 4 21:23:33 UTC 2016 armv7l GNU/Linux

The Raspberry Pi3 is running:
Linux raspberrypi 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux

On both systems I've done an apt-get install lazarus which is the Free Pascal version of Delphi and end up with Lazarus 1.2.4

On both systems I'm running headless with the Pi3 using a WiFi link and the BBB hardwired on the Ethernet port. The Pi3 also has the Pi Sense Hat installed with the whole works in a 3D printed case and a Python program running a moving sign showing temperature, Barometric Pressure and Humidity.

The Beagle has the processor speed fixed to 1000Mhz rather than dynamic from 300 to 1000Mhz. The SD card in the Beagle is a faster card than the one in the Pi3.

On both systems I start up the headless operation with
vncserver -geometry 1200x650
which keeps it a reasonable size on my WIN-7 ASUS laptop which is connected to the network via WiFi.

So here's the speed problem. The Pi Linux system is more responsive and faster by up to 3x

If I run Lazarus which has been installed in the Programming menu entry on the Beagle the splash screen shows up in about 2 seconds and then 14 seconds later the last loaded application is loaded and Lazarus is ready to go.

If I do this on the Pi3, the splash screen is up in 1 second and the application is ready to go in 6 seconds.

Now to compile a program. With the Beagle it's like working on an old 386PC running WIN 386. With the Pi it's like Windows XP. One is usable, the other is like an interesting experiment.

Beagle takes 48 seconds to compile and run an simple empty form.

On the Pi3, it takes 8 seconds to compile and run a much more complicated form with a chart, multiple panels and buttons.

It's quite possible if one runs a benchmark program on each system the speed will be identical but that's only a snapshot of processor speed and not the human/machine interface.

So where to start?

At this point I'm ready to delegate the 3 beagles I own to some stand alone projects and add more Pi3 units (I have one running OctoPi without problems) but the Beagle has the two PRUs and extra I/O plus I've got a few LCD display capes etc. all for the Beagle. Maybe Beagle users aren't working with the Pi3? Do they don't realize how slow it's become?

User avatar
drewfustini
 
Posts: 944
Joined: Sat Dec 26, 2015 1:19 pm

Re: Linux Debian BeagleboneBlack Speed verses Pi3

Post by drewfustini »

The BeagleBone Black is a good choice for projects that want both the functionality of Linux (such as networking and USB) and real-time behavior for controlling physical systems.

The TI Sitara AM3358 System-on-Chip (SoC) contains an ARM Cortex A8 core along with hardware peripherals intended for industrial applications. Programmable Real-Time Unit Subsystem and Industrial Communication Subsystem (PRU-ICSS) is designed to implement real-time functionality with two 200 MHz 32-bit RISC microcontrollers.

One of my favorite BeagleBone projects that uses the PRUs is LEDscape and the Octoscroller by Trammell Hudson at NYC Resistor hackerspace:
14129404769_19d12b034f.jpg
14129404769_19d12b034f.jpg (109.46 KiB) Viewed 876 times
Another cool application of the PRUs is MachineKit which turns the BeagleBone into a CNC controller for lathes, mills and 3D printers. There is also BeagleLogic which turns the BeagleBone into a 100Msps 14-channel Logic Analyzer.

Here's a presentation by Jason Kridner on the how to build real-time systems with the BeagleBone:
Using the BeagleBone Real-Time Microcontrollers [PDF]
Screenshot from 2017-01-10 21-02-49.png
Screenshot from 2017-01-10 21-02-49.png (848.43 KiB) Viewed 876 times

jcdammeyer
 
Posts: 26
Joined: Mon Mar 24, 2014 11:49 am

Re: Linux Debian BeagleboneBlack Speed verses Pi3

Post by jcdammeyer »

Thanks for the reply,
I know lots of good things have been done with beagles.
One of my Beagles has a CNC cape with DB25 for LinuxCNC Machinekit. It boots and appears to run but that was last year and it was on Wheezy. Haven't really had a chance to do anything more with it.

I have a Replicape and BANNED Screen earmarked for a Delta 3D printer.

The third Beagle was to have a CAN Cape and 4" LCD (LCD switch sits on one of the Beagle CAN pins so it needs some work). Without the LCD the CAN stuff was working great. Logging CAN messages. I had a Device Tree one wire DS1822 sensor available via tcp messaging and a desktop app. Installed in the initramfs because otherwise cape-universal won't allow the installation of a driver from uEnv.txt. (That's a different issue I'm not happy about).

Then I installed Lazarus and noticed that it was really slow. Up till then IDLE and Python for mucking around was fine but only for CLI applications.

Since my Astro Pi was running a Python App I thought I'd install Lazarus on the Pi and try and access the hardware from it. That's when I realized my grumbling (to myself) about the slowness of the Beagle wasn't unfounded. Lazarus was suddenly useable.

That was a month ago. Since then I've made all sorts of different versions. Kept a diary of the steps to create the same sort of system with Samba, $SLOTS, $PINS etc. Tried Wheezy and Jesse. Changed processor speeds or left it dynamic with little change.

The most noticeable change between Rev 7 and 8 is the change from the LXDE to LXQt user interface. Qterminal garbles the VNC characters while Xterm and the other non-Qt applications do not. There's been no response over the last month to postings on that problem.

My guess is all those projects in your links were done pre Debian Jesse. I was planning on running the lights I picked up from this project shown on my home page. I ran 750 lamps per side with a 9S12 controller and 5 CAN bus channels. http://www.autoartisans.com

So the links you posted are great and they show what something like a Beagle can do but doesn't really explain why a Pi is so much faster.

Perhaps if you did like I did, and ran the two side by side you'd discover something that could be that eureka event. That would be really helpful. To get some others duplicating the issue.

User avatar
drewfustini
 
Posts: 944
Joined: Sat Dec 26, 2015 1:19 pm

Re: Linux Debian BeagleboneBlack Speed verses Pi3

Post by drewfustini »

jcdammeyer wrote:Thanks for the reply,
So the links you posted are great and they show what something like a Beagle can do but doesn't really explain why a Pi is so much faster
The RPi 3 has a more ARM CPU resources, so I would expect the performance of Linux applications to run faster. The BeagleBone has less ARM processing power but has the ability to handle hard real-time tasks with the PRUs. Unlike an external microcontroller, the PRU has access the main DDR RAM which enables high speed data transfer between the ARM core and the PRU. Projects like BeagleLogic and LEDscape take advantage of this.

As for images, this eLinux wiki page always has the latest info, including the Desktop, IoT and console images:
http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

The Wheezy images are still available on beagleboard.org on this page:
https://beagleboard.org/latest-images

The images are created by Robert C. Nelson who is usually responsive to feedback on the official mailing list:
https://groups.google.com/forum/#!categ ... eagleboard

jcdammeyer
 
Posts: 26
Joined: Mon Mar 24, 2014 11:49 am

Re: Linux Debian BeagleboneBlack Speed verses Pi3

Post by jcdammeyer »

Hi Drew,
Over the last month I've thought long and hard about where to post this problem. A single mention of the Pi on the Beagle forum resulted in a chastising that it wasn't a raspberry forum and inappropriate to even mention a pi.

But that's not really the point. I've bought both Beagle and Pi stuff from Adafruit. Of all the places where there might be developers working with both products I think this is the best place to bring up the issue.

I don't think, given that non-PRU benchmarks put the Beagle (1000MHz) at generally 2x the speed of the Pi2 (700MHz?) should result in a Linux Pi being 2x to 3x the speed. It's true that Digikey (Robert C. Nelson), also sells the Pi3 (1690-1000-ND) but the lists that he frequents are primarily about the Beagle.

I think this problem requires someone who works with both products to first perhaps duplicate the issue in a simple step by step process on a Pi and a Beagle connected to their local network. puTTY is used via the network to do the Command Line Interface.
1. Download img file for the latest supported OS for each.
2. Program a 16GB High speed Micro SD for each since the on board flash on the beagle isn't large enough to hold everything.
3. Boot the Pi and the Beagle from the SD and run the grow_partition script to make the 4GB image fit the 16GB card
4. sudo apt-get update
5. sudo apt-get upgrade
6. sudo apt-get install lazarus
7. vncserver -geometry 1200x650
8. Start up two sessions of TightVNC Viewer on a WIN-7 machine and log into the hardware.
9. In under 1 second I have the screen up and the menu available on the Pi3 (LXDE)
10. In 2 seconds I have the LXQt desktop available on the Beagle.
11. Click the Menu, select Programming, select Lazarus 1.2.4
The first time there will be an dialog to fill to deal with and an error dialog. Click OK on all those. Then when Lazarus is loaded Exit out and do step 11 again and start counting seconds.
12. A default app is loaded that has a simple form with no buttons. Click on the -> Run button and wait for the IDE to compile and load the app. Count the time it takes.
13. The Pi is consistently 3x faster than the Beagle.

Anyone who has a Pi or a Beagle can do these tests. All you need is a blank 16GB MicroSD card. If we find 10 people do it on a Pi and find the time to be 12 seconds and another different group of 10 people do it on a Beagle and find it to be 44 seconds then it's perhaps time for the Linux Pi experts and the Beagle Pi experts to have a chat?

And if 10 people find their Beagle is just as fast as the Pi I'd like to know their solution.

User avatar
bbx10node
 
Posts: 147
Joined: Sun Feb 22, 2015 4:14 pm

Re: Linux Debian BeagleboneBlack Speed verses Pi3

Post by bbx10node »

Pi 2 and Pi 3 have 4 ARM processors versus 1 for older Pis and the BBB. The BBB also has 2 PRUs but the PRUs do not help GUIs run faster. Single processor benchmarks do not show the advantages of 4 vs 1 processors. See the sysbench results for Pi 2 and Pi 3 single threaded (1 processor) versus multi threaded (4 processors).

https://www.raspberrypi.org/magpi/raspb ... enchmarks/

jcdammeyer
 
Posts: 26
Joined: Mon Mar 24, 2014 11:49 am

Re: Linux Debian BeagleboneBlack Speed verses Pi3

Post by jcdammeyer »

Thanks. Great link to the benchmarks and good to have attached to this discussion thread.
However, they are still just processing benchmarks and not OS/XWindows/VNC/network benchmarks.

I believe the problem I'm seeing is related to LXDE Raspian verses LXQt Debian. Both my modules are running essentially the same version of Linux. One real difference between them is how they are handling screen I/O.

And garbled characters in the QTerminal and other QT software is a clue that there's something wrong. But perhaps I'm the only one experiencing that?
https://beagleboard.org/discuss?place=m ... 6lrEjiEgAJ

The discussion groups for the Beagle imply that the Beagle developers went the LXQt direction because it's smaller/faster/better and LXDE is on the way out. Having used both now I like the Raspian LXDE interface better. I like how the menus look. I like the menu bar at the top with the network information and even what's been put on the menu bar and where. But then I never really like the START button change on Microsoft windows either so maybe I'm just old and against change for change sake.

In either case, I made decisions to buy not only 2 more Beagles, but also a number of other capes because of the hardware capabilities of the Beagle (PRU, CAN bus). The general web information was that the Beagle was much faster than the Pi. The Pi was for hobby people, the Beagle for serious computer projects.

Further research now shows that information is probably all circa 2014. So I believe it's important to raise this issue for 2017. And not just CPU single or multi-core (=/- PRU) benchmarks but real life usage benchmarks. I cannot be the only person in the world that is running VNC from a Windows machine to talk to embedded Pi and Beagle processors.

Locked
Please be positive and constructive with your questions and comments.

Return to “Beagle Bone & Adafruit Beagle Bone products”