1557
Comment:
|
3318
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#acl Claudius Korzen:read,write All:read |
#acl All:read,write |
Line 4: | Line 3: |
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. In the 2nd and 3rd column, write down the average runtime of the baseline algorithm and of your improved algorithm on your machine, in '''micro'''seconds as an integer. As mentioned in the lecture, repeat each measurement '''5 times''' and take the average. In the columns 4-6, write down the speedup ratios as floats with '''exactly two digits of precision''', measured as time_for_baseline / time_for_your_version (<1 = slower, >1 = faster). In the columns 7+8, give details about your programming language and your machine specifications. In the last column '''briefly''' describe the improvements you implemented. || |||| ''Average Runtime (in µs)'' |||||| ''Speedup ratio'' |||| || || ||'''Name''' || '''Baseline''' || '''Your version''' || '''existence + bielefeld''' ||'''them + bielefeld'''||'''them + existence'''||'''Language'''||'''Machine Spec'''||'''Summary Improvements'''|| || ck1028 || ? || ? || 0.00 || 0.00 || 0.00 || Java || ? || ? || || ck1028 || ? || ? || 0.00 || 0.00 || 0.00 || C++ || ? || ? || |
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 '''micro'''seconds 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. || ||||||<style="text-align:center">''film + bowling'' ||||||<style="text-align:center">''film + rug'' ||||||<style="text-align:center">''bowling + rug'' ||||||<style="text-align:center"> || ||'''Name''' ||'''Baseline''' ||'''Yours''' ||'''Ratio''' ||'''Baseline''' ||'''Yours''' ||'''Ratio''' ||'''Baseline''' ||'''Yours''' ||'''Ratio''' ||'''Language''' ||'''Summary Improvements''' || ||ck1028 ||12920µs ||8796µs ||1.46 ||8570µs ||3298µs ||2.59 ||545µs ||520µs ||1.05 ||Java ||Combination of zipper algorithm & binary search in remainder of longer list; sentinels. || ||ck1028 ||1898µs ||1784µs ||1.06 ||1767µs ||260µs ||6.79 ||116µs ||65µs ||1.78 ||C++ ||Combination of zipper algorithm & galloping search; sentinels. || ||he41 ||8184µs ||1465µs ||5.59 ||8957µs ||1446µs ||6.19 ||2631µs ||1575µs ||1.67 ||Java ||Combination of zipper algorithm & galloping search; sentinels; Bitwise Operations. || ||ma269 ||1901µs ||1538µs ||1.24 ||1332µs ||566µs ||2.35 ||122µs ||52µs ||2.32 ||C++ ||Log(n)-step baseline or galloping search with sentinels. || ||cb382 + mz111 ||4842µs ||2992µs ||1.62 ||5428µs ||1487µs ||3.65 ||1687µs ||803µs ||2.10 ||Java ||Combination of zipper with sentinels & galloping search || ||yl100 ||2061µs ||1943µs ||1.06 ||1381µs ||483µs ||2.86 ||141µs ||66µs ||2.14 ||C++ ||Combination of zipper ,sentinels, and galloping search || ||fk234 ||2127µs ||1670µs ||1.27 ||1896 ||466 ||4.07 ||146µs ||91µs ||1.60 ||C++ ||Zipper algorithm with sentinels and galloping search || ||pk104 ||1514µs ||1318µs ||1.14 ||1293 ||355 ||3.65 ||95µs ||50µs ||1.87 ||C++ ||galloping search || ||pg152 ||17024µs ||11518µs ||1.47 ||12301µs ||3078µs ||3.99 ||4777µs ||1334µs ||3.58 ||Java ||Binsearch at beginning, Galloping at end || ||dd74 ||1785µs ||1951µs ||0.91 ||1631µs ||575µs ||2,84 ||144µs ||143µs ||1.01 ||C++ ||Zipper algorithm with sentinels, binary search || ||je113 ||2049µs ||1872µs ||1.09 ||1124µs ||497µs ||2,26 ||90µs ||89µs ||1.01 ||Java ||Skip pointers with sentinels || ||ck407 ||30959µs ||28967µs ||1.07 ||2102µs ||1168µs ||1.80 ||1447µs ||1098µs ||1.32 ||Java ||Combination of zipper with sentinels and galloping search. || ||sm362 ||1854µs ||1831µs ||1.01 ||1549µs ||432µs ||3.58 ||127µs ||81µs ||1.57 ||C++ ||Combination of zipper algorithm & galloping search || ||ak745 ||6292µs ||5245µs ||1.20 ||6060µs ||1026µs ||5.91 ||1893µs ||790µs ||2.40 ||Java ||Combination of Galloping search and binary search. || ||yb36 ||1443µs ||1271µs ||1.14 ||1374µs ||227µs ||6.03 ||133µs || 38µs ||3.47 ||C++ ||Zipper + Galloping search + Binary search + Sentinels || |
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.
|
film + bowling |
film + rug |
bowling + rug |
|
||||||||
Name |
Baseline |
Yours |
Ratio |
Baseline |
Yours |
Ratio |
Baseline |
Yours |
Ratio |
Language |
Summary Improvements |
|
ck1028 |
12920µs |
8796µs |
1.46 |
8570µs |
3298µs |
2.59 |
545µs |
520µs |
1.05 |
Java |
Combination of zipper algorithm & binary search in remainder of longer list; sentinels. |
|
ck1028 |
1898µs |
1784µs |
1.06 |
1767µs |
260µs |
6.79 |
116µs |
65µs |
1.78 |
C++ |
Combination of zipper algorithm & galloping search; sentinels. |
|
he41 |
8184µs |
1465µs |
5.59 |
8957µs |
1446µs |
6.19 |
2631µs |
1575µs |
1.67 |
Java |
Combination of zipper algorithm & galloping search; sentinels; Bitwise Operations. |
|
ma269 |
1901µs |
1538µs |
1.24 |
1332µs |
566µs |
2.35 |
122µs |
52µs |
2.32 |
C++ |
Log(n)-step baseline or galloping search with sentinels. |
|
cb382 + mz111 |
4842µs |
2992µs |
1.62 |
5428µs |
1487µs |
3.65 |
1687µs |
803µs |
2.10 |
Java |
Combination of zipper with sentinels & galloping search |
|
yl100 |
2061µs |
1943µs |
1.06 |
1381µs |
483µs |
2.86 |
141µs |
66µs |
2.14 |
C++ |
Combination of zipper ,sentinels, and galloping search |
|
fk234 |
2127µs |
1670µs |
1.27 |
1896 |
466 |
4.07 |
146µs |
91µs |
1.60 |
C++ |
Zipper algorithm with sentinels and galloping search |
|
pk104 |
1514µs |
1318µs |
1.14 |
1293 |
355 |
3.65 |
95µs |
50µs |
1.87 |
C++ |
galloping search |
|
pg152 |
17024µs |
11518µs |
1.47 |
12301µs |
3078µs |
3.99 |
4777µs |
1334µs |
3.58 |
Java |
Binsearch at beginning, Galloping at end |
|
dd74 |
1785µs |
1951µs |
0.91 |
1631µs |
575µs |
2,84 |
144µs |
143µs |
1.01 |
C++ |
Zipper algorithm with sentinels, binary search |
|
je113 |
2049µs |
1872µs |
1.09 |
1124µs |
497µs |
2,26 |
90µs |
89µs |
1.01 |
Java |
Skip pointers with sentinels |
|
ck407 |
30959µs |
28967µs |
1.07 |
2102µs |
1168µs |
1.80 |
1447µs |
1098µs |
1.32 |
Java |
Combination of zipper with sentinels and galloping search. |
|
sm362 |
1854µs |
1831µs |
1.01 |
1549µs |
432µs |
3.58 |
127µs |
81µs |
1.57 |
C++ |
Combination of zipper algorithm & galloping search |
|
ak745 |
6292µs |
5245µs |
1.20 |
6060µs |
1026µs |
5.91 |
1893µs |
790µs |
2.40 |
Java |
Combination of Galloping search and binary search. |
|
yb36 |
1443µs |
1271µs |
1.14 |
1374µs |
227µs |
6.03 |
133µs |
38µs |
3.47 |
C++ |
Zipper + Galloping search + Binary search + Sentinels |