Home > Research > Genetic Programming > GP JavaMark 1.0

This simple benchmark assesses the performance of a Java Runtime Environment on a typical GP problem.   

The Details

This applet performs symbolic regression to find the function x + x2 + x3 + x4 given 10 data points (x = 0...9), with an operator pool of addition, subtraction, multiplication, division, and assignment, on a 4 register virtual CPU.  The representation is linear machine code, the population size is 1000, and the genetic modifiers include single point crossover, single point insertion and deletion, and single point mutation.  Normally this system can find the function named above in less than a second, but my careful selection of the right random seeds produces a very poor initial population, requiring many generations to complete. 

The Int trials use a CPU with integer registers, the Float trial uses ... Float registers. The times between the two are not comparable, as the different storage produces different fitness for a given set of instructions.  

Understanding the numbers

Times reported are the number of seconds to complete a test.  There is no deep reason why the float test takes longer, I was unable to find a good random seed that balanced both.

Lower is better, reported values are the average length of the last two tournaments of each type, in seconds

Hardware

JRE

 Integer
 Tournaments

Float 
Tournaments

Dual 433Mhz Celeron, 256MB, Win2k Symantec Java 4.00.010(x)
 (from Visual Cafe 4.0a)

31

54

Dual 433Mhz Celeron, 256MB, Win2k Sun JDK 1.3 Applet Viewer

58

101

Dual 433Mhz Celeron, 256MB, Win2k Internet Explorer 5.5

69

88

Dual 433Mhz Celeron, 256MB, Win2k Internet Explorer 5.0

69

88

Dual 433Mhz Celeron, 256MB, Win2k Netscape 4.75 (Java 1.1.5)

94

465

Athlon  550Mhz 128MB, Win98 Internet Explorer 5.0

57

67

PII 400Mhz, 128MB, Win95 Internet Explorer 5.5

76

97

G3 iMac 400Mhz, 128MB, OS 9 Internet Explorer 5.0

86

150

G3 iMac 333Mhz, 192MB, OS 9 Internet Explorer 5.0

117

206

G3 iBook 300Mhz, 96MB, OS 9 Internet Explorer 5.0

119

208

G3 iMac 266Mhz, 96MB, OS 9 Internet Explorer 5.0

134

242

Notes.  Other than for the Dual Celeron I use, all values are ordered from fastest to slowest. The values for the Celeron are kept together to aid in comparing different JREs on the same machine.  During runs on the Dual Celeron, the second CPU sees only a few percentage points of use, so the values should compare closely to a single Celeron machine. 

2000/2003 Alan Robinson    (Email Alan)