瀏覽代碼

Warmup added

Michael Mächtel 8 年之前
父節點
當前提交
61981eeb1a
共有 1 個檔案被更改,包括 18 行新增0 行删除
  1. 18
    0
      hw4/task2/README.md

+ 18
- 0
hw4/task2/README.md 查看文件

@@ -14,6 +14,24 @@ Die folgenden Informationen sollen helfen, sich schneller in die Materie des
14 14
 [time]: https://docs.rs/time
15 15
 [std::mem]: https://doc.rust-lang.org/std/mem/
16 16
 
17
+## Warmup für das Programm
18
+
19
+Es gibt mehrere Möglichkeiten, einem Programm eine höhere Priorität (?) vor anderen Programmen zu geben.
20
+
21
+Eine Möglichkeit besteht darin, das Programm ein kleines Warmup durchlaufen zu lassen. Dies kann über ein simples Inkrementieren erreicht werden. Bei der Berechnung müssen Sie aber darauf achten, dass der Compiler das Ergebnis nicht vorausberechnen kann. Sonst würde bei der Optimierung der Compiler einfach das Ergebnis ausrechnen und das Ergebnis direkt in den Code schreiben. Damit wäre das Warmup (Durchlaufen des Codes) dahin.
22
+
23
+Mit einer Parameterübergabe durch die Kommandozeile steht das Ergebnis zur Compile-Zeit nicht fest und somit kann der Code nicht einfach 'weg'-optimiert werden. Dazu ein Beispiel:
24
+
25
+```Rust
26
+//where page_count and jump are cmd arguments
27
+let mut a = vec![0i32; page_count * jump];
28
+
29
+    // warm up
30
+    for i in a.iter_mut() {
31
+        *i += 1;
32
+    }
33
+```
34
+
17 35
 ## Zeiten lesen in C
18 36
 
19 37
 Das folgende Kapitel muss zur Lösung von task2 nicht komplett verstanden werden.

Loading…
取消
儲存