kreisler
Posts: 23
Joined: Fri Mar 10, 2017 4:08 pm
Location: Germany

Mathematica performance on raspi3 vs raspi4

Sat Aug 10, 2019 1:41 pm

So to anyone with raspi4 and Mma 11.x or Mma 12.0, with Stretch or Buster:

How fast does the Mma software perform on the new hardware?
Could you try the following on the raspi4 please?
- launch the Mma software, then open a new Mma notebook (blank white window/page) and enter the following two lines
- after each line you must hit <Shift + Enter> to conclude the line. this will make Mma evaluate the line:

Code: Select all

    Needs["Benchmarking`"]
    BenchmarkReport[]
On the raspi3B (not 3B+) with Stretch and Mma 11.3 the benchmark yields a score of 0.06 omg.

ejolson
Posts: 3708
Joined: Tue Mar 18, 2014 11:47 am

Re: Mathematica performance on raspi3 vs raspi4

Sat Aug 10, 2019 4:36 pm

kreisler wrote:
Sat Aug 10, 2019 1:41 pm
So to anyone with raspi4 and Mma 11.x or Mma 12.0, with Stretch or Buster:

How fast does the Mma software perform on the new hardware?
Could you try the following on the raspi4 please?
- launch the Mma software, then open a new Mma notebook (blank white window/page) and enter the following two lines
- after each line you must hit <Shift + Enter> to conclude the line. this will make Mma evaluate the line:

Code: Select all

    Needs["Benchmarking`"]
    BenchmarkReport[]
On the raspi3B (not 3B+) with Stretch and Mma 11.3 the benchmark yields a score of 0.06 omg.
Here are my results for a well-cooled Raspberry Pi 4B 2GB with official power supply:

Code: Select all

# apt-get install wolframscript
# exit
$ wolframscript 
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
  what():  boost::filesystem::directory_iterator::construct: No such file or directory: "/opt/Wolfram/WolframEngine"
Anyone know what the problem is?

ejolson
Posts: 3708
Joined: Tue Mar 18, 2014 11:47 am

Re: Mathematica performance on raspi3 vs raspi4

Sat Aug 10, 2019 4:58 pm

ejolson wrote:
Sat Aug 10, 2019 4:36 pm
Anyone know what the problem is?
It seems to be a packaging dependency problem: wolframscript should require wolfram-engine. Results are now

Code: Select all

$ wolframscript 
Wolfram Language 12.0.1 Engine for Linux ARM (32-bit)
Copyright 1988-2019 Wolfram Research, Inc.

In[1]:= Needs["Benchmarking`"]                                                  

In[2]:= BenchmarkReport[]                                                       
Test 1 of 15: Data Fitting ...
Test 2 of 15: Digits of Pi ...
Test 3 of 15: Discrete Fourier Transform ...
Test 4 of 15: Eigenvalues of a Matrix ...
Test 5 of 15: Elementary Functions ...
Test 6 of 15: Gamma Function ...
Test 7 of 15: Large Integer Multiplication ...
Test 8 of 15: Matrix Arithmetic ...
Test 9 of 15: Matrix Multiplication ...
Test 10 of 15: Matrix Transpose ...
Test 11 of 15: Numerical Integration ...
Test 12 of 15: Polynomial Expansion ...
Test 13 of 15: Random Number Sort ...
Test 14 of 15: Singular Value Decomposition ...
Test 15 of 15: Solving a Linear System ...

Out[2]= === System Information ===

        Machine Name:               turbo
        System:                     Linux ARM (32-bit)
        Date:                       August 10, 2019
        Wolfram Language Version:   12.0.1
        Benchmark Result:           0.18


        === WolframMark System Comparison ===

        Intel Core i7-3770 CPU @ 3.40GHz (8 cores)    1.89
        Linux x86 (64-bit)

        3.5 GHz 6-Core Intel Xeon E5                  1.88
        Mac OS X x86 (64-bit)

        Intel(R) Core(TM) i5-3550 CPU @ 3.30GHz       1.66
        Microsoft Windows (64-bit)

        2.2 GHz Intel Core i7                         1.20
        Mac OS X x86 (64-bit)

        3.07 GHz Core i7-950 (8 Cores)                1
        Windows 7 Pro (64-bit) Desktop

        2.93 GHz Core i7-940 (8 Cores)                0.89
        Linux Ubuntu (64-bit) Desktop

        Intel Core i7 CPU                             0.84
        Microsoft Windows (64-bit)

        2 × 2.26 GHz Quad Core Xeon E5520 (8 Cores)   0.69
        Mac XServe OS X (64-bit) Server

        2.80 GHz Core 2 Duo Mobile T9600 (2 Cores)    0.67
        Windows 7 Pro (64-bit) Laptop

        2.4 Ghz Core 2 Duo Mobile T8300 (2 Cores)     0.47
        MacBook OS X Snow Leopard (64-bit) Laptop

        2.60 GHz Core 2 Duo Mobile T7800 (2 Cores)    0.44
        Windows XP Pro (32-bit) Laptop

        2.13 GHz Core 2 Duo E6400 (2 Cores)           0.36
        Windows Vista (32-bit) Server

        1.6 GHz Core 2 Duo Mobile L7500 (2 Cores)     0.32
        Windows 7 Pro (32-bit) Laptop

        turbo                                         0.18
        Linux ARM (32-bit)

        2 × 2.00 GHz G5 PowerPC (2 Cores)             0.14
        Mac OS X (32-bit) Desktop

        ARMv6-compatible processor rev 7 (v6l)        0.01
        Linux ARM (32-bit)

        (Faster systems give larger numbers)


        === WolframMark Detailed Timings ===

                                                     Total   Test 1  Test 2 \
         
        >   Test 3  Test 4  Test 5  Test 6  Test 7  Test 8  Test 9   Test 10 \
         
        >   Test 11  Test 12  Test 13  Test 14  Test 15

        Intel Core i7-3770 CPU @ 3.40GHz (8 cores)
        Linux x86 (64-bit)                           7.3     0.38    0.31   \
         
        >   0.48    0.42    0.62    0.41    0.40    0.68    0.40     0.75    \
         
        >   0.64     0.09     0.85     0.45     0.45

        3.5 GHz 6-Core Intel Xeon E5
        Mac OS X x86 (64-bit)                        7.4     0.61    0.36   \
         
        >   0.28    0.45    0.30    0.47    0.43    0.99    0.29     0.67    \
         
        >   0.69     0.09     0.89     0.43     0.42

        Intel(R) Core(TM) i5-3550 CPU @ 3.30GHz
        Microsoft Windows (64-bit)                   8.3     0.47    0.34   \
         
        >   0.48    0.53    0.80    0.45    0.47    0.63    0.44     0.86    \
         
        >   0.69     0.11     1.00     0.55     0.53

        2.2 GHz Intel Core i7
        Mac OS X x86 (64-bit)                        11.5    0.84    0.47   \
         
        >   0.49    0.68    0.83    0.58    0.53    1.64    0.73     0.82    \
         
        >   0.92     0.12     1.20     0.88     0.75

        3.07 GHz Core i7-950 (8 Cores)
        Windows 7 Pro (64-bit) Desktop               13.8    0.80    0.98   \
         
        >   1.00    0.80    0.84    1.00    0.98    1.00    0.78     1.06    \
         
        >   0.95     0.89     0.97     0.92     0.86

        2.93 GHz Core i7-940 (8 Cores)
        Linux Ubuntu (64-bit) Desktop                15.6    0.94    0.99   \
         
        >   1.14    0.92    0.80    0.81    0.88    1.51    0.89     1.31    \
         
        >   1.16     1.14     1.41     0.89     0.86

        Intel Core i7 CPU
        Microsoft Windows (64-bit)                   16.5    0.93    0.72   \
         
        >   0.68    1.23    1.44    0.89    0.85    1.02    1.40     1.33    \
         
        >   1.58     0.15     1.44     1.47     1.33

        2 × 2.26 GHz Quad Core Xeon E5520 (8 Cores)
        Mac XServe OS X (64-bit) Server              20.1    1.06    1.22   \
         
        >   1.44    1.00    1.67    1.05    1.12    1.71    0.67     2.79    \
         
        >   1.32     1.22     1.76     0.94     1.08

        2.80 GHz Core 2 Duo Mobile T9600 (2 Cores)
        Windows 7 Pro (64-bit) Laptop                20.7    1.12    1.20   \
         
        >   1.90    1.06    2.04    1.17    1.15    1.61    1.53     1.61    \
         
        >   1.19     1.06     1.22     1.25     1.56

        2.4 Ghz Core 2 Duo Mobile T8300 (2 Cores)
        MacBook OS X Snow Leopard (64-bit) Laptop    29.8    1.78    1.40   \
         
        >   2.44    1.40    3.03    1.13    1.22    2.20    2.35     2.31    \
         
        >   1.63     1.57     2.06     2.86     2.38

        2.60 GHz Core 2 Duo Mobile T7800 (2 Cores)
        Windows XP Pro (32-bit) Laptop               31.8    1.27    1.80   \
         
        >   2.59    1.44    3.69    1.92    2.06    2.41    3.25     1.91    \
         
        >   1.45     1.41     1.34     2.52     2.72

        2.13 GHz Core 2 Duo E6400 (2 Cores)
        Windows Vista (32-bit) Server                38.1    2.49    2.18   \
         
        >   3.39    1.75    3.18    2.35    2.54    2.92    3.28     2.52    \
         
        >   2.33     1.65     1.78     3.12     2.60

        1.6 GHz Core 2 Duo Mobile L7500 (2 Cores)
        Windows 7 Pro (32-bit) Laptop                43.8    2.17    2.75   \
         
        >   3.74    2.26    4.23    2.90    3.14    3.46    3.42     2.73    \
         
        >   2.48     1.92     2.11     3.39     3.12

        turbo
        Linux ARM (32-bit)                           78.5    3.79    2.23   \
         
        >   15.86   3.58    6.25    2.80    3.58    1.53    10.80    4.96    \
         
        >   2.50     0.31     2.92     8.34     9.03

        2 × 2.00 GHz G5 PowerPC (2 Cores)
        Mac OS X (32-bit) Desktop                    100.9   4.61    4.64   \
         
        >   10.91   4.94    19.50   5.16    5.01    5.70    5.21     7.17    \
         
        >   3.33     4.87     4.28     9.74     5.84

        ARMv6-compatible processor rev 7 (v6l)
        Linux ARM (32-bit)                           3011.0  31.84   15.55  \
         
        >   84.43   144.50  183.10  16.49   20.02   28.88   1165.00  37.60   \
         
        >   36.45    4.70     25.73    444.20   772.60

        (Timings are CPU time in seconds)
The score of 0.18 is three times faster than your score of 0.06 for the Pi 3B.

kreisler
Posts: 23
Joined: Fri Mar 10, 2017 4:08 pm
Location: Germany

Re: Mathematica performance on raspi3 vs raspi4

Sun Aug 11, 2019 12:18 pm

ejolson wrote:
Sat Aug 10, 2019 4:58 pm
The score of 0.18 is three times faster than your score of 0.06 for the Pi 3B.
Thanks for the measurement!
2x faster than supersupersuperslow is supersuperslow
3x faster than supersupersuperslow is superslow

So it's still superslow :P

In comparison, on my 10yr old budget PC hardware (originally designed for WinXP) the benchmark score is 0.64, which is still 3.5x faster than your 2019 raspi4. And the common Mma user would agree that 0.64 is not really acceptable. If i just wanted to write Wolfram L code, then the performance of the Mma GUI doesn't matter too much. But for running a computensive Mma program, 0.64 is hardly acceptable let alone 0.18 or the ridiculous 0.06.

Of course i appreciate having Mma on the raspi. This gives me alternative 'mobile access' to the software for on-the-road coding or mathematical calculations.

Summary: Mma performs 3x faster on the raspi4 than on the raspi3. However, that is still so much slower than on any budget desktop PC which hit the market 10yrs ago. Most raspi users who play with the Mma application for the very first time will be mostly likely turned off by that superslow experience. It is unthinkable that first-time users get hooked on the Mma application after the raspi experience.

ejolson
Posts: 3708
Joined: Tue Mar 18, 2014 11:47 am

Re: Mathematica performance on raspi3 vs raspi4

Sun Aug 11, 2019 6:06 pm

kreisler wrote:
Sun Aug 11, 2019 12:18 pm
So it's still superslow :P
Having not run Mathematica on a PC since Windows 3.1, I don't have a current frame of reference to compare with the Pi. As an aside, the early versions of Mathematica worked well enough on a 486DX33 with 8MB of RAM that as a student I didn't need to use the NeXT cubes in the computer lab.

While it can do numerics, I've always considered Mathematica to be most useful as a computer algebra system. In other words, because there are so many other good programming languages for numerics, the main thing of interest for me is symbolic calculation.

I looked at the results included in the benchmark run for other computers. The dual 2.0 GHz G5 scores about the same as the Pi 4B for the built-in Mathematica benchmark. On the other hand, this Pi Pie Chart shows the same dual G5 system to be similar in performance to a Pi 3B+ computer. Thus, the speed of Mathematica could likely be increased a factor of two or three by tuning the code for ARMv7 with NEON. Even so, the availability of Mathematica on the Pi is a deciding factor when I advise people about computers.

Return to “Wolfram Language”