Jul 152015

Back in February, at the RISC OS Southwest Show, I purchased the new ARMX6 computer from R-Comp, which was seeing its official launch at the show. Once I got the machine home and set it up, my initial impression was basically “Wow!” – the speed improvement it shows over previous RISC OS computers is fantastic.

However, despite intending to move as much as possible of my day to day stuff to it, as yet I have still not had time to sit down and think about actually doing this – so the computer isn’t getting a lot of use.

There is one use it does get, though. On a weekly basis, I export some data from a client’s accounts package as a CSV file, and then process that data to produce two PHP files – one a form, and one a file to process data submitted to that form by the client. The program I quickly put together to do this is written in BBC BASIC¬† – and I run it each week on the ARMX6, with the data itself remaining on the Windows laptop, accessed over the network.

The processing time varies, because the amount of data it has to process changes each week, but my estimate is that it’s typically around 35 seconds. This week, I decided it would be worth adding a timer to the program to see, and then running it again in VirtualRiscPC on the Windows computer as a comparison.

The results?

Running it as I normally do, i.e. with the program running on the ARMX6, and the data accessed over the network from the Windows computer’s hard drive, resulted in a time of 35.51 seconds.

Copying the program over to the Windows computer, and running it in VirtualRiscPC (so the data is accessed locally, rather than across the network) resulted in a time of 2.40 seconds – which is clearly much, much faster than the ARMX6.

However, copying the data over to the ARMX6 computer, and running the program there again, this time accessing the data locally, resulted in a time of 0.39 seconds – which turns the tables again.

As an afterthought, I then tried running the program on the Windows machine directly, using BBC BASIC for Windows. This meant making a few modifications to the program, because it was hitherto using RISC OS style paths and needed to use Windows style paths under BB4W, but with those simple changes made, the resulting time was 0.58 seconds – still not as fast as the ARMX6.

As noted in the title for this page, this test is totally unscientific for a number of reasons (for example, the 1.2GHZ ARMX6 sports an SSD, whereas the 2.5GHz Core i5 Windows computer has a spinning disc) – but that wasn’t the intention. The point was that this is a program I run on a regular basis, to perform a very specific task – so I wanted to compare its speed if I run it in different ways; on the different platforms I have on my desk.

It doesn’t matter if some random computer would run it ten times faster again, if that computer isn’t the one sitting on my desk.

It’s clear from this test that I would be better off using VirtualRiscPC or BBC BASIC for Windows compared with the way I normally run the program – but it’s also clear that when if I run it the same way on my ARMX6 as I did on my Windows computer, the ARMX6 outperformed that machine.