Pentium MMX 233 MHz, Running DOS (CWSDPMI) or Windows 95 (MSVC)

Reference: 90 MHz Dell Pentium = 1.00 with Watcom 10.0a
Compiler/Operation
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
(CPU/ARCH = 386 by default)

2.66
3.18
2.48
2.77
2.87
2.99
2.03
2.39
1.92
1.52
2.62
2.03
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
-march=i586 -mcpu=i586

2.68
3.20
2.48
2.79
2.83
2.85
2.10
2.53
2.00
1.65
2.64
2.11
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O2

2.57
3.09
2.48
2.25
2.77
2.99
1.63
2.18
1.83
1.51
2.41
1.97
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

2.67
3.20
2.49
2.89
2.86
3.41
2.11
2.52
2.00
1.65
2.72
2.12
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

2.68
3.19
2.48
2.81
2.85
3.56
2.03
2.38
1.92
1.52
2.69
2.02
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O2
-march=i586 -mcpu=i586 (default)

2.58
3.11
2.48
2.35
2.78
3.35
1.74
2.32
1.91
1.65
2.51
2.06
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

2.68
3.19
2.49
2.89
2.87
3.40
2.11
2.52
2.00
1.65
2.72
2.12
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

2.68
3.19
2.49
2.81
2.85
3.52
2.03
2.38
1.92
1.51
2.69
2.02
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O2
-march=i586 -mcpu=i586 (default)

2.58
3.13
2.48
2.35
2.78
3.15
1.74
2.32
1.92
1.65
2.49
2.07
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O2

2.60
3.11
2.43
2.22
2.83
2.69
1.51
2.16
2.13
1.59
2.34
2.12
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

2.67
3.13
2.60
2.61
2.87
2.84
1.96
2.22
2.20
1.55
2.55
2.14
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.80
2.42
1.04
1.08
2.73
1.53
1.20
0.96
0.79
0.52
1.21
1.04
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O2

2.57
3.08
2.34
2.21
2.75
3.07
1.67
2.03
2.25
1.80
2.37
2.23
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

2.69
3.11
2.33
2.69
3.13
3.08
2.17
2.36
2.26
1.82
2.61
2.34
gcc 2.8.0
binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

2.72
3.13
2.24
2.70
2.96
3.15
2.22
2.49
2.24
1.91
2.64
2.33
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O0

0.89
2.50
1.13
1.35
2.78
1.48
1.38
0.95
0.56
0.61
1.31
0.98
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O2

2.56
3.08
2.33
2.22
2.84
2.67
1.68
2.03
2.20
1.38
2.33
2.05
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

2.58
3.08
2.33
2.67
3.01
2.67
2.11
2.02
2.20
1.36
2.47
2.08
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

2.58
3.13
2.24
2.67
3.12
2.74
2.15
2.21
2.20
1.40
2.51
2.13
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.89
2.50
1.13
1.36
2.89
1.58
1.37
0.95
0.59
0.53
1.32
0.96
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O2

2.56
3.20
2.25
2.34
2.84
2.96
1.79
2.43
2.88
1.96
2.47
2.52
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i386 -mcpu=i386

2.64
3.15
2.33
2.80
2.81
2.71
2.17
2.47
2.93
1.70
2.59
2.41
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i586 -mcpu=i586

2.67
3.16
2.25
2.86
2.86
2.78
2.17
2.61
2.98
1.99
2.62
2.57
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O6 -ffast-math -fomit-frame-pointer
-march=amdk6 -mcpu=amdk6

2.69
3.17
2.25
3.10
2.87
2.60
2.20
2.58
3.08
1.68
2.63
2.46
MSVC 5.0
Optimized for speed
3.03
4.02
3.26
2.62
3.12
5.59
2.74
3.49
3.20
2.25
3.43
2.82
Watcom 10.0a
Optimized for speed
2.62
2.78
2.60
2.51
2.64
2.53
2.88
2.62
3.07
1.89
2.65
2.48
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

2.67
3.22
2.71
2.83
3.18
3.33
2.36
2.88
2.07
1.84
2.84
2.30
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

2.66
3.21
2.72
3.14
2.98
3.22
2.23
2.84
2.08
1.83
2.84
2.25
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O2
-march=i586 -mcpu=i586 (default)

2.58
3.22
2.72
2.33
2.99
3.32
1.64
2.41
2.06
1.83
2.55
2.24
gcc 2.95 (19990623)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
(special tweaks applied see notes)
2.71
3.74
2.71
2.84
2.98
3.35
2.37
2.89
1.75
1.84
2.92
2.13
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=0 loops=0 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
2.71
3.79
3.14
3.01
3.03
4.39
2.31
2.82
2.74
2.61
3.10
2.79
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=4 loops=4 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
2.70
3.79
3.14
3.02
3.03
4.39
2.31
2.82
2.71
2.61
3.10
2.78

Reference: MSVC 5.0 compiler = 100.00%
Compiler/Operation
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
(CPU/ARCH = 386 by default)

87.73
79.22
76.15
105.74
91.93
53.44
74.17
68.41
60.13
67.59
76.39
72.03
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
-march=i586 -mcpu=i586

88.28
79.70
76.14
106.58
90.76
50.92
76.56
72.53
62.47
73.51
77.07
74.70
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O2

84.61
77.08
76.14
85.93
88.82
53.44
59.60
62.26
57.04
67.14
70.27
69.80
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

88.10
79.70
76.30
110.32
91.71
61.02
76.89
72.24
62.61
73.35
79.48
74.96
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

88.28
79.40
76.14
107.22
91.15
63.65
74.32
68.16
59.88
67.42
78.55
71.66
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O2
-march=i586 -mcpu=i586 (default)

84.95
77.46
76.15
89.86
89.01
59.95
63.57
66.53
59.76
73.35
73.34
73.07
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

88.28
79.35
76.31
110.55
91.88
60.78
76.89
72.10
62.61
73.51
79.41
75.06
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

88.29
79.39
76.31
107.44
91.37
63.00
74.32
68.03
59.88
67.33
78.46
71.69
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O2
-march=i586 -mcpu=i586 (default)

85.07
77.91
76.14
89.86
89.01
56.36
63.71
66.53
60.13
73.35
72.79
73.22
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O2

85.62
77.41
74.58
84.66
90.63
48.15
55.16
61.73
66.55
70.52
68.20
75.20
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

88.11
77.86
79.68
99.61
92.06
50.81
71.78
63.49
68.72
69.08
74.39
75.89
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O0

26.53
60.25
31.91
41.45
87.32
27.37
43.94
27.47
24.80
23.26
35.41
36.93
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O2

84.89
76.80
71.63
84.30
88.14
54.84
61.15
58.02
70.15
80.12
69.28
79.13
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

88.64
77.41
71.49
102.89
100.40
55.01
79.43
67.52
70.74
80.77
76.18
83.09
gcc 2.8.0
binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

89.74
77.99
68.78
103.29
94.77
56.36
81.05
71.38
69.86
85.03
77.11
82.57
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O0

29.37
62.26
34.54
51.55
89.01
26.38
50.26
27.26
17.40
27.31
38.15
34.84
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O2

84.38
76.63
71.49
84.84
90.95
47.78
61.28
58.02
68.72
61.54
67.91
72.73
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

84.95
76.63
71.49
102.22
96.55
47.69
77.23
57.68
68.58
60.27
72.07
73.62
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

85.12
77.84
68.78
102.00
99.97
48.91
78.55
63.22
68.72
62.22
73.23
75.33
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O0

29.43
62.26
34.54
51.95
92.60
28.18
50.16
27.11
18.36
23.37
38.53
34.12
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O2

84.33
79.70
68.91
89.34
90.82
52.98
65.48
69.47
89.91
87.07
71.94
89.25
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i386 -mcpu=i386

87.22
78.45
71.49
107.01
90.16
48.43
79.16
70.69
91.62
75.40
75.65
85.40
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i586 -mcpu=i586

87.90
78.65
68.91
109.19
91.53
49.79
79.31
74.62
93.22
88.56
76.50
91.08
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O6 -ffast-math -fomit-frame-pointer
-march=amdk6 -mcpu=amdk6

88.82
78.91
68.91
118.48
91.88
46.44
80.41
73.86
96.20
74.57
76.82
87.03
MSVC 5.0
Optimized for speed
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
100.00
Watcom 10.0a
Optimized for speed
86.34
69.18
79.83
95.98
84.48
45.29
105.15
75.13
96.04
83.90
77.22
87.97
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

88.11
80.16
83.24
108.31
101.92
59.49
86.23
82.57
64.75
81.82
82.93
81.43
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

87.58
79.85
83.41
120.07
95.38
57.61
81.42
81.33
65.00
81.50
82.82
79.65
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O2
-march=i586 -mcpu=i586 (default)

85.07
80.18
83.41
89.17
95.80
59.39
59.83
69.07
64.38
81.34
74.26
79.46
gcc 2.95 (19990623)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
(special tweaks applied see notes)
89.36
93.16
83.24
108.53
95.58
59.95
86.40
82.72
54.66
81.77
85.06
75.32
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=0 loops=0 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
89.35
94.51
96.22
115.06
97.14
78.48
84.24
80.72
85.59
115.97
90.54
98.79
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=4 loops=4 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
89.00
94.32
96.22
115.56
96.99
78.49
84.24
80.57
84.58
115.96
90.50
98.35

Geometric average
IntegerFloating-pointOverall
CompilerValueCompilerValueCompilerValue
MSVC 5.0
Optimized for speed
1.00
MSVC 5.0
Optimized for speed
1.00
MSVC 5.0
Optimized for speed
1.00
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=0 loops=0 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
0.91
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=0 loops=0 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
0.99
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=0 loops=0 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
0.93
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=4 loops=4 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
0.91
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=4 loops=4 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
0.98
gcc 2.96
binutils 2.9.1 (patched for 16 bytes aligment)
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
jumps=4 loops=4 align-double functions=4
regparm(3) for NumSort, My memmove
(special tweaks applied see notes)
0.93
gcc 2.95 (19990623)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
(special tweaks applied see notes)
0.85
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i586 -mcpu=i586

0.91
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.82
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.83
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O2

0.89
gcc 2.95 (19990623)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
(special tweaks applied see notes)
0.82
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.83
Watcom 10.0a
Optimized for speed
0.88
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.82
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.79
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O6 -ffast-math -fomit-frame-pointer
-march=amdk6 -mcpu=amdk6

0.87
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i586 -mcpu=i586

0.81
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.79
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i386 -mcpu=i386

0.85
Watcom 10.0a
Optimized for speed
0.80
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.79
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.83
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O6 -ffast-math -fomit-frame-pointer
-march=amdk6 -mcpu=amdk6

0.80
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.78
gcc 2.8.0
binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

0.83
gcc 2.8.0
binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

0.79
Watcom 10.0a
Optimized for speed
0.77
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.81
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i386 -mcpu=i386

0.78
gcc 2.8.0
binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

0.77
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.80
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.78
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
-march=i586 -mcpu=i586

0.77
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O2
-march=i586 -mcpu=i586 (default)

0.79
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.78
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O6 -ffast-math -fomit-frame-pointer
-march=amdk6 -mcpu=amdk6

0.77
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O2

0.79
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.78
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i586 -mcpu=i586

0.76
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.76
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O2

0.77
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
(CPU/ARCH = 386 by default)

0.76
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

0.75
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.76
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.76
gcc 2.95 (19990623)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default
(special tweaks applied see notes)
0.75
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.76
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O3 -ffast-math -fomit-frame-pointer
-march=i386 -mcpu=i386

0.76
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O2

0.75
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
-march=i586 -mcpu=i586

0.76
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.74
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.75
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O2
-march=i586 -mcpu=i586 (default)

0.76
gcc 2.95 (june snapshot)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.95
-O2
-march=i586 -mcpu=i586 (default)

0.74
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
Seems like -march=i586 and -mcpu=i586 is the default

0.75
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
(CPU/ARCH = 386 by default)

0.75
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O2
-march=i586 -mcpu=i586 (default)

0.73
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
-march=i586 -mcpu=i586

0.75
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.75
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

0.73
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.74
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math
-mcpu=i586 -march=i586

0.74
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O2
-march=i586 -mcpu=i586 (default)

0.73
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O2
-march=i586 -mcpu=i586 (default)

0.73
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O2
-march=i586 -mcpu=i586 (default)

0.73
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.72
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O2
-march=i586 -mcpu=i586 (default)

0.73
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O2
-march=i586 -mcpu=i586 (default)

0.73
pgcc 2.90.23 (1.0.1)
binutils 2.9.1
djgpp 2.02 release.
specs from pgcc
-O2

0.72
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O2

0.73
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O3 -fomit-frame-pointer -ffast-math

0.73
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O2

0.70
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O3 -fomit-frame-pointer -ffast-math
(CPU/ARCH = 386 by default)

0.72
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O2

0.72
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O2

0.69
egcs 2.91.66 (1.1.2 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.66
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.72
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O2

0.70
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O2

0.68
egcs 2.91.60 (1.1.1 release)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.60
-O3 -fomit-frame-pointer -ffast-math
-march=i386 -mcpu=i386

0.72
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O2

0.70
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O2

0.68
egcs 2.91.57 (1.1a)
binutils 2.9.1
djgpp 2.02 release.
specs from 2.91.57
-O2

0.70
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O2

0.69
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.39
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.37
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.37
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O0

0.38
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O0

0.35
gcc 2.8.0
Binutils 2.8.1
DJGPP v2.02
-O0

0.37
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.35
gcc 2.8.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.34
gcc 2.7.2.1
Binutils 2.8.1
DJGPP v2.02
-O0

0.36

OperationName
[1]
NUMERIC SORT
[2]
STRING SORT
[3]
BITFIELD
[4]
FP EMULATION
[5]
FOURIER
[6]
ASSIGNMENT
[7]
IDEA
[8]
HUFFMAN
[9]
NEURAL NET
[10]
LU DECOMPOSITION
[11]
INTEGER INDEX average of integer operations
[12]
FLOATING-POINT INDEX average of [5], [9] and [10]
Notes:
  1. The maximun values are highlighted in green
  2. The minimun values are highlighted in red
  3. I didn't compute the results obtained with -O0 for max/min
  4. This CPU overall performs as a 233.67 MHz CPU compared with the original Dell Pentium machine
  5. This CPU performs as a 238.20 MHz CPU compared with the original Dell Pentium machine for integer operations
  6. This CPU performs as a 223.41 MHz CPU compared with the original Dell Pentium machine for FPU operations
  7. The special gcc-2.95 compilation used: -malign-jumps=0, -malign-loops=0, -malign-functions=4, a trick to force file utils to maintain the 16 bytes align, regparm 3 for the numeric sort and my fast memmove that will be part of djgpp v2.03

Copyright © 1999 by Salvador E. Tropea.
If you want to use these values for some publication just let me know.
Generated using a Perl script.
1