Michael Mächtel il y a 8 ans
Parent
révision
61981eeb1a
1 fichiers modifiés avec 18 ajouts et 0 suppressions
  1. 18
    0
      hw4/task2/README.md

+ 18
- 0
hw4/task2/README.md Voir le fichier

@@ -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.

Chargement…
Annuler
Enregistrer