浏览代码

Typos revised

Michael Mächtel 8 年前
父节点
当前提交
a02a6e5f91
共有 1 个文件被更改,包括 37 次插入36 次删除
  1. 37
    36
      hw8/task1/README.md

+ 37
- 36
hw8/task1/README.md 查看文件

10
         - [-s Flag](#s-flag)
10
         - [-s Flag](#s-flag)
11
         - [-w Flag](#w-flag)
11
         - [-w Flag](#w-flag)
12
         - [Weitere Options](#weitere-options)
12
         - [Weitere Options](#weitere-options)
13
-    - [-help Ausgabe](#help-ausgabe)
14
-    - [Command timings](#command-timings)
13
+    - [`-help` Ausgabe](#help-ausgabe)
14
+    - [Command `timings`](#command-timings)
15
     - [Tests](#tests)
15
     - [Tests](#tests)
16
     - [Laufzeit Messungen (im --release Mode)](#laufzeit-messungen-im---release-mode)
16
     - [Laufzeit Messungen (im --release Mode)](#laufzeit-messungen-im---release-mode)
17
 
17
 
19
 
19
 
20
 Transformieren Sie Ihr Binary Projekt in ein Library Projekt, wobei zusätzlich
20
 Transformieren Sie Ihr Binary Projekt in ein Library Projekt, wobei zusätzlich
21
 ein CLI Programm bereit gestellt wird. Dieses hat seinen Ursprung in `main.rs`.
21
 ein CLI Programm bereit gestellt wird. Dieses hat seinen Ursprung in `main.rs`.
22
-Nach der Transformation soll **cargo run** die Funktionalität Ihres hw7/task1
22
+Nach der Transformation soll **cargo run** die Funktionalität Ihres `hw7/task1`
23
 Programms aufzeigen, und **cargo test** durchläuft die Unit Tests der Library.
23
 Programms aufzeigen, und **cargo test** durchläuft die Unit Tests der Library.
24
 Erstellen Sie auf Basis der bisherigen "unit_test" Datei eine `tests/task1.rs`
24
 Erstellen Sie auf Basis der bisherigen "unit_test" Datei eine `tests/task1.rs`
25
-Datei, die die pub Funktionen der Library testet.
25
+Datei, die die `pub` Funktionen der Library testet.
26
 
26
 
27
 ### Idiomatischer Code
27
 ### Idiomatischer Code
28
 
28
 
29
-In dieser Aufgabe sollte Sie besonderen Wert auf Idiomatischen Rust Code legen.
29
+In dieser Aufgabe sollten Sie besonderen Wert auf Idiomatischen Rust Code legen.
30
 Auch sollte Ihre `main.rs` Funktion möglichst übersichtlich bleiben. Lagern Sie
30
 Auch sollte Ihre `main.rs` Funktion möglichst übersichtlich bleiben. Lagern Sie
31
 somit Funktionen in Module Ihrer Library oder für Ihr Binary aus. In den
31
 somit Funktionen in Module Ihrer Library oder für Ihr Binary aus. In den
32
-vorherigen Homeworks haben Sie dazu alle nötigen Kniffe kennen gelernt, die Sie
32
+vorherigen Homeworks haben Sie dazu alle nötigen Kniffe kennengelernt, die Sie
33
 nun in Ihrer Lösung verwenden.
33
 nun in Ihrer Lösung verwenden.
34
 
34
 
35
 ### `ANSWERS.md`
35
 ### `ANSWERS.md`
36
 
36
 
37
 In den Aufgaben werden immer wieder Fragen gestellt. Geben Sie die Antworten
37
 In den Aufgaben werden immer wieder Fragen gestellt. Geben Sie die Antworten
38
-dazu in der Datei `ANSWERS.md`. Eine kurze aber nachvollziehbare Erklärung (eigene
39
-Worte, kein Code) ist ausreichend. Aufbau und Struktur Ihrer `ANSWERS.md` ist
40
-Ihnen überlassen. Überzeugen Sie uns Tutoren mit einer klaren und verständlichen
41
-Struktur (und korrekter Formatierung). 
38
+dazu in der Datei `ANSWERS.md`. Eine kurze aber nachvollziehbare Erklärung
39
+(eigene Worte, kein Code) ist ausreichend. Aufbau und Struktur Ihrer
40
+`ANSWERS.md` ist Ihnen überlassen. Überzeugen Sie uns Tutoren mit einer klaren
41
+und verständlichen Struktur (und korrekter Formatierung). 
42
 
42
 
43
 Kommentieren Sie Ihren Code. Beschreiben Sie in eigenen Worten (kein Copy/Paste
43
 Kommentieren Sie Ihren Code. Beschreiben Sie in eigenen Worten (kein Copy/Paste
44
 von Code oder Code Kommentaren) in `ANSWERS.md`, welche Arten der
44
 von Code oder Code Kommentaren) in `ANSWERS.md`, welche Arten der
45
-Synchronisation und Kommunikation (ausser MPSC) Sie einsetzen und wie Sie die
45
+Synchronisation und Kommunikation (außer MPSC) Sie einsetzen und wie Sie die
46
 maximale Performance erreichen. Wichtig: Kommentare gehören in den Code,
46
 maximale Performance erreichen. Wichtig: Kommentare gehören in den Code,
47
 Erklärungen in die `ANSWERS.md`.
47
 Erklärungen in die `ANSWERS.md`.
48
 
48
 
49
-Ihre Erklärung muss nachvollziehbar sein, ohne weitere eigenen Recherchen. Zum
50
-Beispiel die Antwort: "In der Implementierung wird die Systemfunktion
51
-_dummy_bla_blub()_ benutzt" ist NICHT ausreichend. Ausreichend wäre: "In der
52
-Implementierung wird die Systemfunktion _dummy_bla_blub()_ benutzt, die die
53
-Uhrzeit seit Einschalten des Rechners als UTF String liefert."
49
+Ihre Erklärung muss nachvollziehbar sein, ohne dass wir Tutoren Recherchen
50
+starten müssen. Zum Beispiel die Antwort: "In der Implementierung wird die
51
+Systemfunktion _dummy_bla_blub()_ benutzt" ist NICHT ausreichend. Ausreichend
52
+wäre: "In der Implementierung wird die Systemfunktion _dummy_bla_blub()_
53
+benutzt, die die Uhrzeit seit Einschalten des Rechners als UTF String liefert."
54
 
54
 
55
 Messungen müssen auf Ihrem Container durchgeführt werden.
55
 Messungen müssen auf Ihrem Container durchgeführt werden.
56
 
56
 
65
 System und ermittelt die Anzahl der vorhandenen CPUs für 'threads'. Geben Sie
65
 System und ermittelt die Anzahl der vorhandenen CPUs für 'threads'. Geben Sie
66
 den Parameter an, können Sie diesen Wert somit 'überschreiben'.
66
 den Parameter an, können Sie diesen Wert somit 'überschreiben'.
67
 
67
 
68
-Benutzen Sie dafür die externe [Crate sys-info](<>). Was ist der Unterschied
68
+Benutzen Sie dafür die externe [Crate sys-info](). Was ist der Unterschied
69
 zwischen einer logischen und einer physikalischen CPU?
69
 zwischen einer logischen und einer physikalischen CPU?
70
 
70
 
71
 ```text
71
 ```text
92
 
92
 
93
 ### Flag _verbose_
93
 ### Flag _verbose_
94
 
94
 
95
-Mit dem Parameter _-v_, _-vv_ oder _-vvv_ usw. lassen sich unterschiedliche
96
-viele Zusatzinformationen ausgeben. 
95
+Mit dem Parameter _-v_, _-vv_ oder _-vvv_ usw. lassen sich unterschiedlich viele
96
+Zusatzinformationen ausgeben. 
97
 
97
 
98
 Ohne die Angabe von verbose reduzieren Sie bitte die Ausgaben auf:
98
 Ohne die Angabe von verbose reduzieren Sie bitte die Ausgaben auf:
99
 
99
 
130
 'Menge' an Zahlen muss dazu geeignet auf alle Threads verteilt werden. Der
130
 'Menge' an Zahlen muss dazu geeignet auf alle Threads verteilt werden. Der
131
 Producer, der ihn findet, sendet den Hash an den Consumer.  
131
 Producer, der ihn findet, sendet den Hash an den Consumer.  
132
 
132
 
133
-Die Rust Standardbibliothek bietet dafür die [MPSC](<>) Synchronisationsprimitive
134
-an. Einen ähnlichen Mechanismus haben Sie bereits mit der Pipe kennen gelernt. 
133
+Die Rust Standardbibliothek bietet dafür die [MPSC]() Synchronisationsprimitive
134
+an. Einen ähnlichen Mechanismus haben Sie bereits mit der Pipe kennengelernt. 
135
 
135
 
136
-Findet einer der Producer das Ergebnis, so sender er dies dan den Consumer. Der
136
+Findet einer der Producer das Ergebnis, so sendet er dies an den Consumer. Der
137
 Consumer hat dann die ruhmreiche Aufgabe, den Hash ausgeben zu dürfen und
137
 Consumer hat dann die ruhmreiche Aufgabe, den Hash ausgeben zu dürfen und
138
-beendet dann das Programm. 
138
+beendet das Programm. 
139
 
139
 
140
 #### -s Flag
140
 #### -s Flag
141
 
141
 
212
 Wird das Flag '-v' mit angegeben, so summiert der Consumer Thread die einzelnen
212
 Wird das Flag '-v' mit angegeben, so summiert der Consumer Thread die einzelnen
213
 Suchzeiten der Producer Threads, sowie die insgesamt durchgeführten Loops zur
213
 Suchzeiten der Producer Threads, sowie die insgesamt durchgeführten Loops zur
214
 Suche. Überlegen Sie sich dazu, wie Sie die nötigen Informationen im Consumer
214
 Suche. Überlegen Sie sich dazu, wie Sie die nötigen Informationen im Consumer
215
-von den Producern erfahren. Eine Ausgabe der Ergebnis könnte folgendermassen
215
+von den Producern erfahren. Eine Ausgabe der Ergebnis könnte folgendermaßen
216
 aussehen:
216
 aussehen:
217
 
217
 
218
 ```text
218
 ```text
240
 von der Anzahl der Threads können Sie im --release Mode bestimmen? 
240
 von der Anzahl der Threads können Sie im --release Mode bestimmen? 
241
 
241
 
242
 Nutzen Sie das Unix Tool **time**, um zusätzliche Ausgaben über die Laufzeit
242
 Nutzen Sie das Unix Tool **time**, um zusätzliche Ausgaben über die Laufzeit
243
-Ihres Programms zu erhalten (Antworten in die Datei `ANSWERS.md`). Von Interesse
244
-sind nur Ihre --release Zeiten:
243
+Ihres Programms zu erhalten. Von Interesse sind nur Ihre `--release` Zeiten:
245
 
244
 
245
+Die folgenden Fragen sollen Ihnen als Beispiel Ihrer Diskussion dienen, erheben
246
+aber keinen Anspruch auf Vollständigkeit: 
246
 -   Wie ist die Ausgabe von **time** zu interpretieren, wenn mehrere Threads
247
 -   Wie ist die Ausgabe von **time** zu interpretieren, wenn mehrere Threads
247
     laufen?
248
     laufen?
248
--   Welche unterschiedlichen Ergebnisse erhalten Sie bei der Option timings? Wie
249
-    stehen diese im Zusammenhang mit den Ergebnissen von **time**.
250
--   Welche Quantitative Auswirkungen hat die Synchronisierung (Warum)? 
251
--   Wie verhält sich die Performance, wenn die von Ihnen zusätzlichen Parameter
252
-    (falls vorhanden) zur Optimierung der Performance variiert werden?
253
-
254
-[Crate clap]: https://docs.rs/clap/
255
-[Crate sha2]: https://docs.rs/sha2/
256
-[Crate time]: https://docs.rs/time/
257
-[Crate sys-info]: https://docs.rs/sys-info/
249
+-   Welche unterschiedlichen Ergebnisse erhalten Sie bei der Option `timings`?
250
+    Wie stehen diese im Zusammenhang mit den Ergebnissen von **time**?
251
+-   Welche quantitativen Auswirkungen hat die Synchronisierung (Warum)? Welche
252
+    Auswirkungen haben Ihre zusätzlichen Parameter?
253
+-   Wie variieren `-s` und `-w` die Messungen? 
254
+
255
+[Crate clap]: https://docs.rs/clap/ 
256
+[Crate sha2]: https://docs.rs/sha2/ 
257
+[Crate time]: https://docs.rs/time/ 
258
+[Crate sys-info]: https://docs.rs/sys-info/ 
258
 [MPSC]: https://doc.rust-lang.org/std/sync/mpsc/
259
 [MPSC]: https://doc.rust-lang.org/std/sync/mpsc/

正在加载...
取消
保存