Project

General

Profile

updateperf.p

Constantin Asofiei, 11/28/2022 10:08 AM

Download (2.12 KB)

 
1
def temp-table tt1 no-undo 
2
field f1 as int 
3
field f2 as int 
4
field f3 as int
5
field f4 as int
6
field f5 as int
7
field f6 as int
8
field f7 as int
9
field f8 as int
10
field f9 as int
11
field f10 as int
12
field f11 as int 
13
field f12 as int 
14
field f13 as int
15
field f14 as int
16
field f15 as int
17
field f16 as int
18
field f17 as int
19
field f18 as int
20
field f19 as int
21
field f20 as int
22
field f21 as int 
23
field f22 as int 
24
field f23 as int
25
field f24 as int
26
field f25 as int
27
field f26 as int
28
field f27 as int
29
field f28 as int
30
field f29 as int
31
field f30 as int
32
field f31 as int 
33
field f32 as int 
34
field f33 as int
35
field f34 as int
36
field f35 as int
37
field f36 as int
38
field f37 as int
39
field f38 as int
40
field f39 as int
41
field f40 as int
42
field f41 as int 
43
field f42 as int 
44
field f43 as int
45
field f44 as int
46
field f45 as int
47
field f46 as int
48
field f47 as int
49
field f48 as int
50
field f49 as int
51
field f50 as int
52
field f51 as int 
53
field f52 as int 
54
field f53 as int
55
field f54 as int
56
field f55 as int
57
field f56 as int
58
field f57 as int
59
field f58 as int
60
field f59 as int
61
field f60 as int
62
field f61 as int 
63
field f62 as int 
64
field f63 as int
65
field f64 as int
66
field f65 as int
67
field f66 as int
68
field f67 as int
69
field f68 as int
70
field f69 as int
71
field f70 as int
72
field f71 as int 
73
field f72 as int 
74
field f73 as int
75
field f74 as int
76
field f75 as int
77
field f76 as int
78
field f77 as int
79
field f78 as int
80
field f79 as int
81
field f80 as int
82
index ix1 f1 f3 f4 f5 f6 f7 f8 f9 f10
83
index ix2 f11 f13 f14 f15 f16 f17 f18 f19 f20
84
index ix3 f21 f23 f24 f25 f26 f27 f28 f29 f30
85
index ix4 f31 f33 f34 f35 f36 f37 f38 f39 f40
86
index ix5 f41 f43 f44 f45 f46 f47 f48 f49 f50
87
index ix6 f51 f53 f54 f55 f56 f57 f58 f59 f60.
88

    
89

    
90
def var i as int.
91
def var l1 as int64.
92
def var l2 as int64.
93

    
94
do i = 1 to 10000:
95
 create tt1.
96
 tt1.f1 = i * 100 + 1.
97
 tt1.f2 = i * 100 + 2.
98
 tt1.f3 = i * 100 + 3.
99
 release tt1.
100
end.
101

    
102
find first tt1 where tt1.f1 = 50 * 100 + 1.
103

    
104
// stress-test indexed update
105
l1 = etime.
106
do i = 1 to 10000:
107
   tt1.f1 = - tt1.f1.
108
end.
109
l2 = etime.
110
message "indexed" (l2 - l1) "ms".
111

    
112
// stress-test non-indexed update
113
l1 = etime.
114
do i = 1 to 10000:
115
   tt1.f2 = - tt1.f2.
116
end.
117
l2 = etime.
118
message "non-indexed" (l2 - l1) "ms".