CPU Performance Evaluation - Visual Basic 2010 Benchmark part 2

Planet simulation

Purpose Program Planet

The purpose of program Planet is two fold:
  1. First to test two CPU's with a program that uses parallel programming.
  2. Secondly to write a program that simultes the movement of planets around the Sun.

The following three CPU's were tested:
  1. Intel Pentium 4 2.80 GHzThis one has a CPU Mark of 415.
  2. Intel Pentium 4 3.00 GHzThis one has a CPU Mark of 491.
  3. Intel Core i5 M 460 @ 2.53 GHzThis one has a CPU Mark of 2582.
CPU 1 is a Single core and supports 1 Thread.
CPU 2 is a Single core and supports 2 Threads.
CPU 3 is a DuaL core and supports 4 Threads.

For executables (.exe files) of the programs tested select VB2010 exe.zip.
The Zip files contains the files VStest1.EXE, VStest2.EXE, Planet.exe, PlanetPP.exe, Planets.exe, Planet3dSimple.EXE, Fibonacci.exe and FibonacciPP.exe

When you try to execute the "VB 2010" programs may be the following error message is displayed:
"To run this application, you first must install one of the following versions of the .NET Framework: v4.0.30319".
You can get this download from: Microsoft .NET Framework 4 (Web Installer) . In my case this happened with CPU 2. For a comparison between CPU 1 and CPU 2 go to: Benchmark Pentium 4 3.0. The fact that CPU 2 is slow in some tests is not caused by this download.

Operation Planet

When you start the program you get a Control Form which contains of 3 parts. The user should specify the parameters # Proc, delta t, Count and Hold before the Start Button is pressed.
During the simulation the user can change the # Proc parameter in order to modify the # of threads in operation.
The user can change the Hold parameter after the Stop Button is pressed or when the simulation goes into hold. This happens when planet # 1 reaches the number of cycles identified by the Hold parameter.

Test results - Planet Simulation


Planet - CPU 3


Planet - CPU 1

What the Planet application tests show is that CPU 3 is only better compared to CPU 1, when CPU 3 uses 2 Processors.
CPU 1 outperforms CPU 3 when CPU 3 uses 1, 3 or 4 Processors.

Planet Application listings: PlanetForm.vb and PlanetForm.Designer.vb

Program Description Planet

The program Planet is partly based on the program Fibonacci.
The program Fibonacci was described in the Microsoft MSDN document: BackGroundWorker See Visual Basic 2010 evaluation for details about documentation issues.
From that program only the subroutine: InitializeComponent() is used. The subroutine InitializeComponent() creates all the tools (Textboxes, Labels, Backgroundworkers etc) on the Planet Form.

The program Planet is also based on the program VStest2 with certain modifications or additions. The program uses the following subroutines: Init, Test and Printa

Program PlanetPP

Program PlanetPP is functionel identical as Planet.
The difference is in the way Parallel Programming is implemented.

To learn more about implementation details go to this document:Visual Basic 2010 Parallel Programming techniques

PlanetPP Application listings: PlanetPPForm.vb and PlanetPPForm.Designer.vb

For a general discussion about parallel programming and threads go here: Advantages and disadvantages . This document also contains comments about Wikipedia

Program PlanetS

The program PlanetS is functional identical as PlanetPP. The difference is that PlanetS (S = Simple) only supports one processor (thread) and does not use the Backgroundworker, that means all the extra overhead for parallel programming is removed.
The Control Panel shows one parameter: Hold

The program uses two new variables: Holdst and Holdrev.

PlanetS Application listings: PlanetSForm.vb and PlanetSForm.Designer.vb

Program Planet1.xls - Excel 2003 & Excel 2007

Planet1.xls is a program identical as PlanetS but using Excel. The calculations are done in Visual Basic. The original Program was written in the Pentium 4 2.8 GHz using Excel 2003. The program shows the performance on "blad2". There is also a graphic available. For the results go to : planet1.xls
For the source of the program select: planet1.xls.zip

P4 2.8 P4 3.0 M 460 i5
CPU Benchmark 415 491 2582
Planet1.xls 2900 2500 - 1600 2200

What the results show is that the performance in the INTEL i5 M 460 CPU is the "not as expected", to say the least.
In the i5 CPU the EXCEL program is running under EXCEL 2007.
Excel 2007 supports Visual Basic and Macro's, however this is not obvious. In order to use Excel 2007 go to the ICON in the top left corner (near Start). Select ICON and goto the bottom right corner were you read: Excel options. Select the options and adjust the Ribbon selection.
For more detail read this: What's new in Microsoft Office Excel 2007. In that document is written:

To improve the performance of Excel, memory management has been increased from 1 GB of memory in Microsoft Office Excel 2003 to 2 GB in Office Excel 2007.
You will also experience faster calculations in large, formula-intensive worksheets because Office Excel 2007 supports multiple processors and multithreaded chipsets.
I agree that Excel 2007 supports multiple processors, but the test don't demonstrate that multiple processors are actual used in parallel.

Performance evaluation

The following table shows performance results for three processors tested.
CPU #1 Supports one processor (thread). CPU #2 2 processors and CPU #3 4 processors
The first column shows the name of the program tested. The second column shows the # of planets tested.

P4 2.8 P4 3.0 M 460 i5
Planet #10 6705
5483 74626560 4678
Planet #100 89
70 112105 118
PlanetPP #10 7173
5712 81567132 7939
PlanetPP #100 102 55, 50
75 117108125
PlanetS #10 7020 5545
PlanetS #100 100 55 75

What those results indicate is that:

For more detail See: CPU Performance Pentium 4




Created: 21 December 2010
Updated: 15 April 2010
Updated: 10 August 2012
Updated: 23 September 2015

Go Back to CPU performance P4, 7 Questions CPU Performance part 1
Back to my home page Contents of This Document