CS 412/413
Introduction to Compilers
Spring 2002

Project Presentation Results
Benchmarks Submitted by Groups

(see also Main Benchmarks)


Benchmarks Submitted by Groups

Benchmark

Lines of
Code

Description

Problem size

all

1102 Concatenation of all test programs used in all assignments

no input

bf
prime
264
1380
A compiler for a an 8-instruction Turing-complete language called BF. The compiler translates a BF specification into an IC program. Both the compiler (bfc.ic, bfo.ic) and one of the generated files (prime.ic) were tested.

cat.b
prime.b
jbquine.b

blackjack 412 Gambling with the compiler

a file with input commands

determinant 125 Computes the determinant of a matrix n x n. Checks it for a matrix filled with numbers from Pascal's triangle. Hence determinant must be 1.

n = 10

queen

272 Computes the number of solutions for the n-queen problem on an n x n board and prints one solution.

n = 10

testname

100 Test program designed to check name conflicts across different modules. no inputs
testopt 70 Simple test program designed to check optimizations. no inputs

tree

259 Implements a tree structure using three arrays of integers: one for data, one for the right pointers, and one for the left pointers. The program inserts and removes elements in the tree. no inputs

 


Compilers Tested

 Benchmark

A

B

C

D

E

F

G

H

all base
optimized
C:EXC
C:EXC
C:EXC
C:EXC
C:ASM
C:EXC
4.7
0.82
C:EXC
C:EXC
C:EXC
C:EXC
C:EXC
C:EXC
E:RES
C:EXC
bf base
optimized
0.06
0.04
0.04
0.04
C:EXC
C:EXC
0.06
C:EXC
0.09
0.17
E:RES
E:RES
E:RES
C:EXC
0.06
0.06

prime

base/opt

E:RES

1.17

N/A

C:TIME

C:TIME

N/A

N/A

1.18

blackjack base
optimized
0.04
C:TIME
E:RES
E:RES
0.06
C:EXC
0.04
E:RES
C:TIME
C:TIME
0.04
0.04
E:EXC
C:EXC
E:RES
E:RES
determinant base
optimized
4.40
C:EXC
3.07
2.65
4.50
E:EXC
2.90
2.90
165.67
155.20
7.21
C:TIME
4.84
C:EXC
3.35
C:EXC
queen base
optimized
0.25
E:EXC
0.12
E:EXC
0.18
E:EXC
0.12
0.12
7.81
E:EXC
C:EXC
C:EXC
0.21
C:EXC
0.14
0.09
testname base
optimized
C:ASM
C:ASM
0.06
0.04
E:RES
E:RES
C:EXC
C:EXC
0.04
0.04
0.04
E:EXC
C:EXC
C:EXC
E:RES
E:RES
testopt base
optimized
2.37
2.32
2.36
2.37
E:EXC
4.65
2.32
2.40
C:EXC
C:EXC
4.53
4.51
4.56
4.62
2.37
C:ASM
tree base
optimized
C:ASM
C:ASM
E:RES
E:EXC
C:ASM
C:EXC
E:RES
E:RES
C:ASM
C:ASM
E:RES
C:EXC
E:EXC
C:EXC
24.62
24.29