Quantcast
Viewing all articles
Browse latest Browse all 2422

General discussion • Java and OpenGL Benchmarks

Java Whetstone Benchmark - whetstc.class

The Java benchmarks comprise class files that were produced some time ago. But source codes are available to renew the files. Performance can vary significantly using different Java Virtual Machines.

Pi 5 performance gains, over the Pi 4, were beteen 1.94 and 3.81.

Code:

     Pi 4 Whetstone Benchmark Java Version, May 22 2020, 14:24:09                                                     1 Pass   Test                 Result     MFLOPS    MOPS  millisecs  N1 floating point  -1.124750137     521           0.0369  N2 floating point  -1.131330490     481           0.2792  N3 if then else     1.000000000             236   0.4378  N4 fixed point     12.000000000            1320   0.2386  N5 sin,cos etc.     0.499110132              48   1.7348  N6 floating point   0.999999821     276           1.9520  N7 assignments      3.000000000             320   0.5772  N8 exp,sqrt etc.    0.825148463              25   1.4640  MWIPS                              1488           6.7205    Operating System    Linux, Arch. aarch64, Version 4.19.118-v8+    Java Vendor         Debian, Version  11.0.7    CPU null   Pi 5 Whetstone Benchmark Java Version, Aug 24 2023, 23:25:17                                                   1 Pass    Pi 5/4  Test                  Result     MFLOPS    MOPS  millisecs  N1 floating point  -1.124750137    1232           0.0156     2.37  N2 floating point  -1.131330490    1048           0.1282     2.18  N3 if then else     1.000000000             715   0.1448     3.02   N4 fixed point     12.000000000            2559   0.1231     1.94  N5 sin,cos etc.     0.499110132             183   0.4550     3.81  N6 floating point   0.999999821     554           0.9730     2.00  N7 assignments      3.000000000             624   0.2960     1.95  N8 exp,sqrt etc.    0.935364604              63   0.5920     2.47  MWIPS                              3666           2.7277     2.46 Pi 5 performance gains, over the Pi 4, were beteen 1.94 and 3.81.[code]     Pi 4 Whetstone Benchmark Java Version, May 22 2020, 14:24:09                                                     1 Pass   Test                 Result     MFLOPS    MOPS  millisecs  N1 floating point  -1.124750137     521           0.0369  N2 floating point  -1.131330490     481           0.2792  N3 if then else     1.000000000             236   0.4378  N4 fixed point     12.000000000            1320   0.2386  N5 sin,cos etc.     0.499110132              48   1.7348  N6 floating point   0.999999821     276           1.9520  N7 assignments      3.000000000             320   0.5772  N8 exp,sqrt etc.    0.825148463              25   1.4640  MWIPS                              1488           6.7205    Operating System    Linux, Arch. aarch64, Version 4.19.118-v8+    Java Vendor         Debian, Version  11.0.7    CPU null   Pi 5 Whetstone Benchmark Java Version, Aug 24 2023, 23:25:17                                                   1 Pass    Pi 5/4  Test                  Result     MFLOPS    MOPS  millisecs  N1 floating point  -1.124750137    1232           0.0156     2.37  N2 floating point  -1.131330490    1048           0.1282     2.18  N3 if then else     1.000000000             715   0.1448     3.02   N4 fixed point     12.000000000            2559   0.1231     1.94  N5 sin,cos etc.     0.499110132             183   0.4550     3.81  N6 floating point   0.999999821     554           0.9730     2.00  N7 assignments      3.000000000             624   0.2960     1.95  N8 exp,sqrt etc.    0.935364604              63   0.5920     2.47  MWIPS                              3666           2.7277     2.46 Pi 5 performance gains, over the Pi 4, were beteen 1.94 and 3.81.[code]     Pi 4 Whetstone Benchmark Java Version, May 22 2020, 14:24:09                                                     1 Pass   Test                 Result     MFLOPS    MOPS  millisecs  N1 floating point  -1.124750137     521           0.0369  N2 floating point  -1.131330490     481           0.2792  N3 if then else     1.000000000             236   0.4378  N4 fixed point     12.000000000            1320   0.2386  N5 sin,cos etc.     0.499110132              48   1.7348  N6 floating point   0.999999821     276           1.9520  N7 assignments      3.000000000             320   0.5772  N8 exp,sqrt etc.    0.825148463              25   1.4640  MWIPS                              1488           6.7205    Operating System    Linux, Arch. aarch64, Version 4.19.118-v8+    Java Vendor         Debian, Version  11.0.7    CPU null   Pi 5 Whetstone Benchmark Java Version, Aug 24 2023, 23:25:17                                                   1 Pass    Pi 5/4  Test                  Result     MFLOPS    MOPS  millisecs  N1 floating point  -1.124750137    1232           0.0156     2.37  N2 floating point  -1.131330490    1048           0.1282     2.18  N3 if then else     1.000000000             715   0.1448     3.02   N4 fixed point     12.000000000            2559   0.1231     1.94  N5 sin,cos etc.     0.499110132             183   0.4550     3.81  N6 floating point   0.999999821     554           0.9730     2.00  N7 assignments      3.000000000             624   0.2960     1.95  N8 exp,sqrt etc.    0.935364604              63   0.5920     2.47  MWIPS                              3666           2.7277     2.46 


JavaDraw Benchmark - JavaDrawPi.class

The benchmark uses small to rather excessive simple objects to measure drawing performance in Frames Per Second (FPS). Five tests draw on a background of continuously changing colour shades, each test adding to the load.

The first runs of this benchmark on the Pi 5 indicated that it was much slower than the Pi 4 on the more demanding functions. Sometime later I reran the benchmark on the Pi 4, using the OS acquired for the Pi 5, and that also produced the slow results. Using this OS, the Pi 5 average performance was around twice as fast.

Code:

 Pi 4 Java Drawing Benchmark, May 22 2020, 14:25:15            Produced by javac 1.8.0_222  Test                              Frames      FPS  Display PNG Bitmap Twice Pass 1      833    83.26  Display PNG Bitmap Twice Pass 2     1001   100.05  Plus 2 SweepGradient Circles         994    99.39  Plus 200 Random Small Circles        836    83.54  Plus 320 Long Lines                  380    37.98  Plus 4000 Random Small Circles        95     9.44         Total Elapsed Time  60.1 seconds  Operating System    Linux, Arch. aarch64, Version 4.19.118-v8+  Java Vendor         Debian, Version  11.0.7  null, null CPUs[b] Pi 4[/b] Java Drawing Benchmark, Dec 2 2023, 10:01:16            Produced by javac 1.8.0_222  Test                              Frames      FPS  Display PNG Bitmap Twice Pass 1      469    46.86  Display PNG Bitmap Twice Pass 2      561    56.06  Plus 2 SweepGradient Circles         523    52.21  Plus 200 Random Small Circles         31     2.97  Plus 320 Long Lines                   13     1.22  Plus 4000 Random Small Circles         2     0.18         Total Elapsed Time  62.5 seconds[b]  Operating System    Linux, Arch. aarch64, Version 6.1.47-v8+  Java Vendor         Debian, Version  17.0.8[/b]  null, null CPUs[b] Pi 5[/b] Java Drawing Benchmark, Aug 26 2023, 15:06:26            Produced by javac 1.8.0_222  Test                              Frames      FPS   Pi5/Pi4  Display PNG Bitmap Twice Pass 1     1000    99.96     2.13  Display PNG Bitmap Twice Pass 2     1077   107.66     1.92  Plus 2 SweepGradient Circles        1010   100.99     1.93  Plus 200 Random Small Circles         63     6.16     2.07  Plus 320 Long Lines                   26     2.50     2.05  Plus 4000 Random Small Circles         4     0.32     1.78         Total Elapsed Time  63.1 seconds[b]  Operating System    Linux, Arch. aarch64, Version 6.1.32-v8+  Java Vendor         Debian, Version  17.0.8[/b]  null, null CPUs Pi 5 Java Drawing Benchmark, Aug 26 2023, 15:15:27            Produced by javac openjdk 17.0.8  Test                              Frames      FPS  Display PNG Bitmap Twice Pass 1     1014   101.33  Display PNG Bitmap Twice Pass 2     1067   106.59  Plus 2 SweepGradient Circles        1028   102.70  Plus 200 Random Small Circles         61     6.04  Plus 320 Long Lines                   25     2.47  Plus 4000 Random Small Circles         4     0.33         Total Elapsed Time  62.3 seconds  Operating System    Linux, Arch. aarch64, Version 6.1.32-v8+  Java Vendor         Debian, Version  17.0.8  null, null CPUs  
64 Bit OpenGL Benchmark - videogl64C10, videogl64C12

In 2012, I approved a request from a Quality Engineer at Canonical, to use this OpenGL benchmark in the testing framework of the Unity desktop software. The program can be run as a benchmark, or selected functions, as a stress test of any duration.

The benchmark measures graphics speed in terms of Frames Per Second (FPS) via six simple and more complex tests. The first four tests portray moving up and down a tunnel including various independently moving objects, with and without texturing. The last two tests, represent a real application for designing kitchens. The first is in wireframe format, drawn with 23,000 straight lines. The second has colours and textures applied to the surfaces.

As a benchmark, it was run using the following script file format, the first command needed to avoid VSYNC, allowing FPS to be greater than 60.

Code:

  export vblank_mode=0                                       ./videogl64CXX Width 320, Height 240, NoEnd                   ./videogl64Cxx Width 640, Height 480, NoHeading, NoEnd        ./videogl64Cxx Width 1024, Height 768, NoHeading, NoEnd       ./videogl64Cxx Width 1920, Height 1080, NoHeading             
The original benchmark was compiled using freeglut3 but, more recently, this was not available for new systems. The gcc12 version was compiled without this but will not run on my Pi 4, Similarly, the gcc10 program is incompatible with the Pi 5.

Performance comparisons indicate that the Pi 5 was between 2.9 and 5.2 times faster than the Pi 4, with an average of 4.0 times over the 24 measurements. The GLUT variety was recompiled on the Pi 4, using GCC 12. The average Pi5 gain then became 2.5 times.

Code:

 Pi 4 gcc 10 GLUT OpenGL Benchmark 64 GCC 10, Wed Sep 20 00:48:11 2023          Running Time Approximately 5 Seconds Each Test Window Size  Coloured Objects  Textured Objects  WireFrm  Texture    Pixels        Few      All      Few      All  Kitchen  Kitchen  Wide  High      FPS      FPS      FPS      FPS      FPS      FPS   320   240    727.7    413.0    219.7    131.9     42.8     28.9   640   480    388.6    281.9    189.2    118.0     42.5     28.1  1024   768    144.0    141.2    129.8     96.9     41.6     26.8  1920  1080     54.1     50.2     52.7     56.7     38.4     23.9                   End at Wed Sep 20 00:50:26 2023 Pi 5 gcc 12 GLUT OpenGL Benchmark 64 Bit GCC 12, Thu Oct 26 14:52:15 2023          Running Time Approximately 5 Seconds Each Test Window Size  Coloured Objects  Textured Objects  WireFrm  Texture    Pixels        Few      All      Few      All  Kitchen  Kitchen  Wide  High      FPS      FPS      FPS      FPS      FPS      FPS   320   240   3184.7   1554.8    894.7    474.2    224.0    120.0   640   480   1441.4    956.8    819.1    442.2    220.4    116.7  1024   768    624.6    493.7    474.7    364.0    199.1    106.4  1920  1080    221.4    198.6    194.4    165.8    137.9     87.6                   End at Thu Oct 26 14:54:28 2023 Pi 5/4 Comparison Window Size  Coloured Objects  Textured Objects  WireFrm  Texture    Pixels        Few      All      Few      All  Kitchen  Kitchen  Wide  High      FPS      FPS      FPS      FPS      FPS      FPS   320   240      4.4      3.8      4.1      3.6      5.2      4.2   640   480      3.7      3.4      4.3      3.7      5.2      4.2  1024   768      4.3      3.5      3.7      3.8      4.8      4.0  1920  1080      4.1      4.0      3.7      2.9      3.6      3.7 #####################################################################Pi 4 GLUT OpenGL Benchmark 64 Bit GCC 12, Sat Dec  2 11:35:48 2023          Running Time Approximately 5 Seconds Each Test Window Size  Coloured Objects  Textured Objects  WireFrm  Texture    Pixels        Few      All      Few      All  Kitchen  Kitchen  Wide  High      FPS      FPS      FPS      FPS      FPS      FPS   320   240   1137.1    517.1    308.3    159.7     93.5     49.6   640   480    579.0    356.8    283.9    150.5     92.5     48.7  1024   768    239.5    200.9    203.4    134.7     84.9     45.3  2032  1080     92.8     74.3     93.6     81.1     75.2     37.6                   End at Sat Dec  2 11:38:02 2023  

Statistics: Posted by RoyLongbottom — Tue Jan 16, 2024 4:33 pm



Viewing all articles
Browse latest Browse all 2422

Trending Articles