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