AD Teaching Wiki:

Results for Exercise Sheet 3 (Intersecting Lists)

Add your row to the table below, following the examples already there. In the 1st column, write your account name, or name1+name2 if you work in a group. For each intersection result, write down (1) the runtime of the baseline algorithm, (2) the runtime of your improved algorithm (both in microseconds as an integer) and (3) the speedup ratio as float with exactly two digits of precision, measured as time_for_baseline / time_for_your_algorithm (<1 = slower, >1 = faster). In the last column briefly describe the improvements you implemented.

Please note: The order of columns has changed!

film + rug

bowling + rug

film + bowling

Name

Baseline

Yours

Ratio

Baseline

Yours

Ratio

Baseline

Yours

Ratio

Language

Summary Improvements

ck1028

8570µs

3298µs

2.59

545µs

520µs

1.05

12920µs

8796µs

1.46

Java

Combination of zipper algorithm & binary search in remainder of longer list; sentinels.

ck1028

1767µs

260µs

6.79

116µs

65µs

1.78

1898µs

1784µs

1.06

C++

Combination of zipper algorithm & galloping search; sentinels.

he41

8957µs

1446µs

6.19

2631µs

1575µs

1.67

8184µs

1465µs

5.59

Java

Combination of zipper algorithm & galloping search; sentinels; Bitwise Operations.

ma269

1332µs

566µs

2.35

122µs

52µs

2.32

1901µs

1538µs

1.24

C++

Log(n)-step baseline or galloping search with sentinels.

cb382 + mz111

5428µs

1487µs

3.65

1687µs

803µs

2.10

4842µs

2992µs

1.62

Java

Combination of zipper with sentinels & galloping search

yl100

1381µs

483µs

2.86

141µs

66µs

2.14

2061µs

1943µs

1.06

C++

Combination of zipper ,sentinels, and galloping search

fk234

1896µs

466µs

4.07

146µs

91µs

1.60

2127µs

1670µs

1.27

C++

Zipper algorithm with sentinels and galloping search

pk104

1293µs

355µs

3.65

95µs

50µs

1.87

1514µs

1318µs

1.14

C++

galloping search

pg152

12301µs

3078µs

3.99

4777µs

1334µs

3.58

17024µs

11518µs

1.47

Java

Binsearch at beginning, Galloping at end

dd74

1631µs

575µs

2.84

144µs

143µs

1.01

1785µs

1951µs

0.91

C++

Zipper algorithm with sentinels, binary search

je113

1124µs

497µs

2.26

90µs

89µs

1.01

2049µs

1872µs

1.09

Java

Skip pointers with sentinels

ck407

2102µs

1168µs

1.80

1447µs

1098µs

1.32

30959µs

28967µs

1.07

Java

Combination of zipper with sentinels and galloping search.

sm362

1549µs

432µs

3.58

127µs

81µs

1.57

1854µs

1831µs

1.01

C++

Combination of zipper algorithm & galloping search

ak745

6060µs

1026µs

5.91

1893µs

790µs

2.40

6292µs

5245µs

1.20

Java

Combination of Galloping search and binary search.

yb36

1374µs

227µs

6.03

133µs

38µs

3.47

1443µs

1271µs

1.14

C++

Zipper + Galloping search + Binary search + Sentinels

ph193

1249µs

541µs

2.30

81µs

39µs

2.06

1725µs

1589µs

1.09

C++

Combination of galloping search with zipper algorithm; sentinels

sr285

969µs

587µs

1.65

255µs

118µs

2.16

4866µs

1533µs

3.17

Java

Combination of Sentinels, Binary and Galloping

fb234

11562µs

2570µs

4.50

1103µs

535µs

2.06

17199µs

9772µs

1.76

Java

Skip pointers in remainder

hn52

5996µs

4235µs

1.42

6178µs

4319µs

1.43

2990µs

2997µs

1.00

C++

Zipper with sentinels and galloping search

es260 + ic30

1067µs

262µs

4.07

85µs

104µs

0.82

1293µs

5086µs

0.25

C++

Combination of galloping, binary and sentinel

js603

1551µs

350µs

4.43

106µs

92µs

1.15

1385µs

1274µs

1.09

C++

Combination of galloping / binary search and baseline

hs211+lb319

1816µs

591µs

3.07

123µs

66µs

1.86

1911µs

2272µs

0.84

C++

Combination of galloping search, predictable branches and remove of redundant initialization

rb201

25315µs

9240µs

2.74

10713µs

7272µs

1.47

28211µs

27367µs

1.03

Java

Zipper + Galloping search + Binary search + Sentinels (yes my hardware is old)

ls305

8931µs

7499µs

1.19

4270µs

739µs

5.77

12293µs

7353µs

1.67

Java

Zipper + Sentinels or Galloping

ns202

1421µs

351µs

4.04

103µs

140µs

0.73

1434µs

2380µs

0.60

C++

Galloping

nf55

1149µs

201µs

5.70

68µs

25µs

2.67

1254µs

1068µs

1.17

C++

Combining Zipper, Galloping search and Binary search

fj47

4841µs

831µs

5.82

1948µs

1384µs

1.41

4395µs

6061µs

0.89

Java

Switch between Zipper, binary on rest or Galopping. Use Sentinels

df121+km109

7352µs

4937µs

1.49

3445µs

2895µs

1.19

7227µs

22216µs

0.33

Java

Galloping search, skip pointers and Binary search

cs568

10457µs

4071µs

2.57

824µs

1884µs

0.44

11487µs

51787µs

0.22

C++

Galloping and binary search in interval

bb245

1066µs

369µs

2.89

150µs

125µs

1.20

1322µs

1862µs

0.71

C++

Galloping search

mk813

1806µs

256µs

7.05

128µs

56µs

2.29

1935µs

2027µs

0.95

C++

Galloping search

AD Teaching Wiki: InformationRetrievalWS1718/ResultsES3 (last edited 2017-11-13 17:24:08 by adpult)