gregg@a.cs.okstate.edu (Gregg Wonderly) (05/20/87)
There is an easy solution to this problem. It appears that TPU attempts to speed allocation and deallocation of data by waiting until procedure exit to clean house. I have included the output from 2 different runs of the posted procedure with the second having one modification. I moved the lines: ERASE(CREATE_RANGE(MARK(NONE),MARK(NONE),NONE)); COPY_TEXT(S); into a procedure by themselves. The result was that the test procedure ran to completion in just under 3 minutes, instead of 22 hours. And, there where only 647 page faults instead of 47 million. Needless to say, I am unimpressed with this type of difference in performance. Now off to look at search and replace in EVE, maybe there is a speed up there. ---------------------- First run ------------------------ Date and Time Iterations I/O CPU Page flts Ph.Mem 15-MAY-1987 11:16:39.31 1 159 0 00:00:23.81 708 655 15-MAY-1987 11:17:58.33 2 164 0 00:01:18.13 801 681 15-MAY-1987 11:19:44.63 3 166 0 00:02:48.94 897 713 15-MAY-1987 11:22:00.17 4 168 0 00:04:51.27 986 802 15-MAY-1987 11:25:03.40 5 170 0 00:07:27.85 1092 886 15-MAY-1987 11:28:47.53 6 172 0 00:10:38.18 1181 975 15-MAY-1987 11:33:08.68 7 174 0 00:14:24.07 1277 1064 15-MAY-1987 11:38:38.51 8 176 0 00:18:43.41 1366 1153 15-MAY-1987 11:44:54.10 9 178 0 00:23:37.95 1467 1242 15-MAY-1987 11:51:18.62 10 180 0 00:29:05.20 1565 1333 15-MAY-1987 11:58:19.01 11 182 0 00:35:07.12 1654 1422 15-MAY-1987 12:06:13.90 12 184 0 00:41:42.55 1750 1511 15-MAY-1987 12:15:14.66 13 186 0 00:48:53.89 1886 1583 15-MAY-1987 12:27:00.47 14 188 0 00:56:38.74 1979 1607 15-MAY-1987 12:37:13.19 15 190 0 01:04:55.83 2074 1607 15-MAY-1987 12:48:32.26 16 192 0 01:13:49.03 2169 1701 15-MAY-1987 12:59:17.88 17 194 0 01:23:14.24 2257 1789 15-MAY-1987 13:10:34.46 18 196 0 01:33:13.07 2353 1879 15-MAY-1987 13:23:35.55 19 198 0 01:43:51.79 2450 1969 15-MAY-1987 13:37:19.24 20 200 0 01:55:00.61 2540 2059 15-MAY-1987 13:59:25.96 21 202 0 02:06:51.60 10496 1845 15-MAY-1987 14:18:16.82 22 204 0 02:19:15.74 18157 1915 15-MAY-1987 14:40:53.10 23 206 0 02:32:20.31 36568 2036 15-MAY-1987 15:03:25.44 24 208 0 02:46:23.64 61633 2071 15-MAY-1987 15:22:14.02 25 210 0 03:00:50.16 68910 500 15-MAY-1987 15:42:27.31 26 212 0 03:15:41.13 88509 2234 15-MAY-1987 16:08:38.95 27 214 0 03:31:49.61 188868 2321 15-MAY-1987 16:54:31.61 28 216 0 03:50:56.84 488930 2443 15-MAY-1987 17:13:43.33 29 218 0 04:07:13.87 491327 2600 15-MAY-1987 17:33:44.40 30 220 0 04:24:06.95 497713 2566 15-MAY-1987 18:02:29.98 31 222 0 04:43:05.31 654311 2600 15-MAY-1987 18:51:09.28 32 224 0 05:13:04.77 1809859 2600 15-MAY-1987 20:06:02.67 33 226 0 05:49:45.30 3555137 2600 15-MAY-1987 21:09:43.71 34 228 0 06:26:33.18 5292352 2600 15-MAY-1987 21:49:36.01 35 230 0 07:00:18.75 6735915 2600 15-MAY-1987 22:35:25.70 36 232 0 07:39:32.16 8670622 500 15-MAY-1987 23:33:06.10 37 234 0 08:29:55.22 11704326 2600 16-MAY-1987 00:18:27.39 38 236 0 09:08:10.09 13424848 2600 16-MAY-1987 01:21:06.63 39 238 0 09:53:27.92 15779785 2600 16-MAY-1987 02:20:27.18 40 240 0 10:40:09.90 18134344 2600 16-MAY-1987 03:33:17.20 41 242 0 11:35:53.09 21332083 2450 16-MAY-1987 04:49:48.76 42 244 0 12:33:32.74 24603502 500 16-MAY-1987 06:02:35.12 43 246 0 13:33:02.47 28088420 500 16-MAY-1987 07:24:34.83 44 248 0 14:33:54.77 31633838 2052 16-MAY-1987 09:13:44.16 45 250 0 15:38:53.22 35188094 2600 16-MAY-1987 12:01:10.77 46 252 0 16:52:32.98 37615322 1731 16-MAY-1987 15:20:52.03 47 254 0 18:09:44.60 39604420 1548 16-MAY-1987 19:47:04.20 48 256 0 19:32:14.77 40230435 1044 16-MAY-1987 22:12:48.63 49 258 0 20:45:51.36 43498464 2598 16-MAY-1987 23:54:43.31 50 260 0 21:58:35.06 47498545 2599 -------------------------- differences output ----------------------------- ************ File MATH$STAFF:[GREGG]TRY1.COM;2 26 ERASE(CREATE_RANGE(MARK(NONE),MARK(NONE),NONE)); 27 COPY_TEXT(S); 28 ENDLOOP; ****** File MATH$STAFF:[GREGG]TRY.COM;3 26 do_func(s); 27 ENDLOOP; ************ ************ File MATH$STAFF:[GREGG]TRY1.COM;2 32 GROW ****** File MATH$STAFF:[GREGG]TRY.COM;3 31 32 PROCEDURE do_func (s) 33 ERASE(CREATE_RANGE(MARK(NONE),MARK(NONE),NONE)); 34 COPY_TEXT(S); 35 ENDPROCEDURE; 36 37 GROW ************ Number of difference sections found: 2 Number of difference records found: 8 DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=TRY.DIFF;1- TRY1.COM;2- TRY.COM;3 ------------------------------ Second run after change --------------------- Date and Time Iterations I/O CPU Page flts Ph.Mem 18-MAY-1987 15:28:24.62 0 160 0 00:00:04.25 623 546 18-MAY-1987 15:31:16.63 1 162 0 00:00:07.02 645 568 18-MAY-1987 15:33:35.40 2 164 0 00:00:09.76 645 568 18-MAY-1987 15:37:33.33 3 166 0 00:00:12.57 645 568 18-MAY-1987 15:40:52.12 4 168 0 00:00:15.43 645 568 18-MAY-1987 15:43:34.04 5 170 0 00:00:18.28 645 568 18-MAY-1987 15:46:15.55 6 172 0 00:00:21.18 645 568 18-MAY-1987 15:49:08.48 7 174 0 00:00:24.12 645 568 18-MAY-1987 15:51:20.45 8 176 0 00:00:27.06 645 568 18-MAY-1987 15:54:18.05 9 178 0 00:00:30.05 645 568 18-MAY-1987 15:56:51.20 10 180 0 00:00:33.06 645 568 18-MAY-1987 16:01:38.81 11 182 0 00:00:36.08 645 568 18-MAY-1987 16:06:23.36 12 184 0 00:00:39.20 645 568 18-MAY-1987 16:08:51.35 13 186 0 00:00:42.29 645 568 18-MAY-1987 16:11:13.13 14 188 0 00:00:45.43 645 568 18-MAY-1987 16:13:20.41 15 190 0 00:00:48.60 645 568 18-MAY-1987 16:15:26.15 16 192 0 00:00:51.82 645 568 18-MAY-1987 16:18:02.51 17 194 0 00:00:55.11 645 568 18-MAY-1987 16:20:30.74 18 196 0 00:00:58.36 645 568 18-MAY-1987 16:22:59.25 19 198 0 00:01:01.64 645 568 18-MAY-1987 16:25:34.95 20 200 0 00:01:04.97 645 568 18-MAY-1987 16:28:46.99 21 202 0 00:01:08.36 645 568 18-MAY-1987 16:31:55.58 22 204 0 00:01:11.79 645 568 18-MAY-1987 16:34:39.66 23 206 0 00:01:15.23 645 568 18-MAY-1987 16:37:00.94 24 208 0 00:01:18.71 645 568 18-MAY-1987 16:39:45.06 25 210 0 00:01:22.25 645 568 18-MAY-1987 16:42:13.66 26 212 0 00:01:25.80 645 568 18-MAY-1987 16:44:04.34 27 214 0 00:01:29.35 645 568 18-MAY-1987 16:46:33.19 28 216 0 00:01:32.94 645 568 18-MAY-1987 16:49:01.96 29 218 0 00:01:36.54 645 568 18-MAY-1987 16:51:08.91 30 220 0 00:01:40.17 645 568 18-MAY-1987 16:54:37.04 31 222 0 00:01:43.81 645 568 18-MAY-1987 16:57:11.75 32 224 0 00:01:47.50 645 568 18-MAY-1987 17:00:09.49 33 226 0 00:01:51.26 645 568 18-MAY-1987 17:02:45.31 34 228 0 00:01:55.03 645 568 18-MAY-1987 17:05:06.61 35 230 0 00:01:58.81 645 568 18-MAY-1987 17:07:20.04 36 232 0 00:02:02.67 645 568 18-MAY-1987 17:09:55.10 37 234 0 00:02:06.51 645 568 18-MAY-1987 17:12:39.15 38 236 0 00:02:10.37 645 568 18-MAY-1987 17:15:08.99 39 238 0 00:02:14.31 645 568 18-MAY-1987 17:17:39.07 40 240 0 00:02:18.24 645 568 18-MAY-1987 17:20:14.21 41 242 0 00:02:22.26 646 569 18-MAY-1987 17:23:26.19 42 244 0 00:02:26.31 646 569 18-MAY-1987 17:26:09.78 43 246 0 00:02:30.36 646 569 18-MAY-1987 17:28:30.65 44 248 0 00:02:34.48 646 569 18-MAY-1987 17:30:50.96 45 250 0 00:02:38.60 647 570 18-MAY-1987 17:33:28.37 46 252 0 00:02:42.72 647 570 18-MAY-1987 17:36:00.95 47 254 0 00:02:46.90 647 570 18-MAY-1987 17:39:45.49 48 256 0 00:02:51.08 647 570 18-MAY-1987 17:42:51.45 49 258 0 00:02:55.33 647 570 18-MAY-1987 17:46:10.70 50 260 0 00:02:59.64 647 570