blob: 2f65c28167706c4c520e50a9b81a0d207802e7d5 [file] [log] [blame]
Zesstra051ad6b2020-01-23 21:46:58 +01001
2get_eval_cost
3*************
4
5
6BEMERKUNGEN
7===========
8
9 Der Maximalwert betraegt zur Zeit 1.500.000 Ticks (Stand: 2020).
10
11 Sollten die Ticks waehrend der Ausfuehrung irgendwo auf 0 fallen,,
12 wird ein Fehler der Art "too long eval" erzeugt.
13
14 Diese Funktion dient dazu, solche Fehler zu verhindern oder genauer
15 zu lokalisieren an welchen Stellen im Code wieviel Ticks verbraucht
16 werden.
17
18
19BEISPIELE
20=========
21
22 // Ticks zaehlen
23 void foo()
24 {
25 int prev, used, i;
26
27 prev=get_eval_cost(); // Merken, was bis hierhin verbraucht wurde
28 for (i=0;i<=1000;i++) // Dann kommt der zu testende Code, zB eine
29 { // Schleife
30 ...
31 }
32 used=prev-get_eval_cost(); // Berechnung der Differenz
33 printf("Die Schleife verbrauchte %d Ticks.\n", used);
34 }
35
36 // Ticks im Auge behalten bei der Ausfuehrung
37 foreach(...)
38 {
39 ... // komplexer code
40 if (get_eval_cost() < 100000)
41 break;
42 }