O3, O4 - на результат standartcase не влияют, а имхо должны((
- Код: Выделить всё
program standartcase;
uses sysutils;
procedure test(key:integer);
begin
randseed:=key;
end;
var
i:cardinal;
myTime:TDateTime;
ts:string;
begin
myTime:=now;
for i:=0 to 1046529 do
case i of
0: test(0);
1: test(1);
4: test(4);
9: test(9);
16: test(16);
25: test(25);
36: test(36);
49: test(49);
64: test(64);
81: test(81);
100: test(100);
121: test(121);
144: test(144);
169: test(169);
196: test(196);
225: test(225);
256: test(256);
289: test(289);
324: test(324);
361: test(361);
400: test(400);
441: test(441);
484: test(484);
529: test(529);
576: test(576);
625: test(625);
676: test(676);
729: test(729);
784: test(784);
841: test(841);
900: test(900);
961: test(961);
1024: test(1024);
1089: test(1089);
1156: test(1156);
1225: test(1225);
1296: test(1296);
1369: test(1369);
1444: test(1444);
1521: test(1521);
1600: test(1600);
1681: test(1681);
1764: test(1764);
1849: test(1849);
1936: test(1936);
2025: test(2025);
2116: test(2116);
2209: test(2209);
2304: test(2304);
2401: test(2401);
2500: test(2500);
2601: test(2601);
2704: test(2704);
2809: test(2809);
2916: test(2916);
3025: test(3025);
3136: test(3136);
3249: test(3249);
3364: test(3364);
3481: test(3481);
3600: test(3600);
3721: test(3721);
3844: test(3844);
3969: test(3969);
4096: test(4096);
4225: test(4225);
4356: test(4356);
4489: test(4489);
4624: test(4624);
4761: test(4761);
4900: test(4900);
5041: test(5041);
5184: test(5184);
5329: test(5329);
5476: test(5476);
5625: test(5625);
5776: test(5776);
5929: test(5929);
6084: test(6084);
6241: test(6241);
6400: test(6400);
6561: test(6561);
6724: test(6724);
6889: test(6889);
7056: test(7056);
7225: test(7225);
7396: test(7396);
7569: test(7569);
7744: test(7744);
7921: test(7921);
8100: test(8100);
8281: test(8281);
8464: test(8464);
8649: test(8649);
8836: test(8836);
9025: test(9025);
9216: test(9216);
9409: test(9409);
9604: test(9604);
9801: test(9801);
10000: test(10000);
10201: test(10201);
10404: test(10404);
10609: test(10609);
10816: test(10816);
11025: test(11025);
11236: test(11236);
11449: test(11449);
11664: test(11664);
11881: test(11881);
12100: test(12100);
12321: test(12321);
12544: test(12544);
12769: test(12769);
12996: test(12996);
13225: test(13225);
13456: test(13456);
13689: test(13689);
13924: test(13924);
14161: test(14161);
14400: test(14400);
14641: test(14641);
14884: test(14884);
15129: test(15129);
15376: test(15376);
15625: test(15625);
15876: test(15876);
16129: test(16129);
16384: test(16384);
16641: test(16641);
16900: test(16900);
17161: test(17161);
17424: test(17424);
17689: test(17689);
17956: test(17956);
18225: test(18225);
18496: test(18496);
18769: test(18769);
19044: test(19044);
19321: test(19321);
19600: test(19600);
19881: test(19881);
20164: test(20164);
20449: test(20449);
20736: test(20736);
21025: test(21025);
21316: test(21316);
21609: test(21609);
21904: test(21904);
22201: test(22201);
22500: test(22500);
22801: test(22801);
23104: test(23104);
23409: test(23409);
23716: test(23716);
24025: test(24025);
24336: test(24336);
24649: test(24649);
24964: test(24964);
25281: test(25281);
25600: test(25600);
25921: test(25921);
26244: test(26244);
26569: test(26569);
26896: test(26896);
27225: test(27225);
27556: test(27556);
27889: test(27889);
28224: test(28224);
28561: test(28561);
28900: test(28900);
29241: test(29241);
29584: test(29584);
29929: test(29929);
30276: test(30276);
30625: test(30625);
30976: test(30976);
31329: test(31329);
31684: test(31684);
32041: test(32041);
32400: test(32400);
32761: test(32761);
33124: test(33124);
33489: test(33489);
33856: test(33856);
34225: test(34225);
34596: test(34596);
34969: test(34969);
35344: test(35344);
35721: test(35721);
36100: test(36100);
36481: test(36481);
36864: test(36864);
37249: test(37249);
37636: test(37636);
38025: test(38025);
38416: test(38416);
38809: test(38809);
39204: test(39204);
39601: test(39601);
40000: test(40000);
40401: test(40401);
40804: test(40804);
41209: test(41209);
41616: test(41616);
42025: test(42025);
42436: test(42436);
42849: test(42849);
43264: test(43264);
43681: test(43681);
44100: test(44100);
44521: test(44521);
44944: test(44944);
45369: test(45369);
45796: test(45796);
46225: test(46225);
46656: test(46656);
47089: test(47089);
47524: test(47524);
47961: test(47961);
48400: test(48400);
48841: test(48841);
49284: test(49284);
49729: test(49729);
50176: test(50176);
50625: test(50625);
51076: test(51076);
51529: test(51529);
51984: test(51984);
52441: test(52441);
52900: test(52900);
53361: test(53361);
53824: test(53824);
54289: test(54289);
54756: test(54756);
55225: test(55225);
55696: test(55696);
56169: test(56169);
56644: test(56644);
57121: test(57121);
57600: test(57600);
58081: test(58081);
58564: test(58564);
59049: test(59049);
59536: test(59536);
60025: test(60025);
60516: test(60516);
61009: test(61009);
61504: test(61504);
62001: test(62001);
62500: test(62500);
63001: test(63001);
63504: test(63504);
64009: test(64009);
64516: test(64516);
65025: test(65025);
65536: test(65536);
66049: test(66049);
66564: test(66564);
67081: test(67081);
67600: test(67600);
68121: test(68121);
68644: test(68644);
69169: test(69169);
69696: test(69696);
70225: test(70225);
70756: test(70756);
71289: test(71289);
71824: test(71824);
72361: test(72361);
72900: test(72900);
73441: test(73441);
73984: test(73984);
74529: test(74529);
75076: test(75076);
75625: test(75625);
76176: test(76176);
76729: test(76729);
77284: test(77284);
77841: test(77841);
78400: test(78400);
78961: test(78961);
79524: test(79524);
80089: test(80089);
80656: test(80656);
81225: test(81225);
81796: test(81796);
82369: test(82369);
82944: test(82944);
83521: test(83521);
84100: test(84100);
84681: test(84681);
85264: test(85264);
85849: test(85849);
86436: test(86436);
87025: test(87025);
87616: test(87616);
88209: test(88209);
88804: test(88804);
89401: test(89401);
90000: test(90000);
90601: test(90601);
91204: test(91204);
91809: test(91809);
92416: test(92416);
93025: test(93025);
93636: test(93636);
94249: test(94249);
94864: test(94864);
95481: test(95481);
96100: test(96100);
96721: test(96721);
97344: test(97344);
97969: test(97969);
98596: test(98596);
99225: test(99225);
99856: test(99856);
100489: test(100489);
101124: test(101124);
101761: test(101761);
102400: test(102400);
103041: test(103041);
103684: test(103684);
104329: test(104329);
104976: test(104976);
105625: test(105625);
106276: test(106276);
106929: test(106929);
107584: test(107584);
108241: test(108241);
108900: test(108900);
109561: test(109561);
110224: test(110224);
110889: test(110889);
111556: test(111556);
112225: test(112225);
112896: test(112896);
113569: test(113569);
114244: test(114244);
114921: test(114921);
115600: test(115600);
116281: test(116281);
116964: test(116964);
117649: test(117649);
118336: test(118336);
119025: test(119025);
119716: test(119716);
120409: test(120409);
121104: test(121104);
121801: test(121801);
122500: test(122500);
123201: test(123201);
123904: test(123904);
124609: test(124609);
125316: test(125316);
126025: test(126025);
126736: test(126736);
127449: test(127449);
128164: test(128164);
128881: test(128881);
129600: test(129600);
130321: test(130321);
131044: test(131044);
131769: test(131769);
132496: test(132496);
133225: test(133225);
133956: test(133956);
134689: test(134689);
135424: test(135424);
136161: test(136161);
136900: test(136900);
137641: test(137641);
138384: test(138384);
139129: test(139129);
139876: test(139876);
140625: test(140625);
141376: test(141376);
142129: test(142129);
142884: test(142884);
143641: test(143641);
144400: test(144400);
145161: test(145161);
145924: test(145924);
146689: test(146689);
147456: test(147456);
148225: test(148225);
148996: test(148996);
149769: test(149769);
150544: test(150544);
151321: test(151321);
152100: test(152100);
152881: test(152881);
153664: test(153664);
154449: test(154449);
155236: test(155236);
156025: test(156025);
156816: test(156816);
157609: test(157609);
158404: test(158404);
159201: test(159201);
160000: test(160000);
160801: test(160801);
161604: test(161604);
162409: test(162409);
163216: test(163216);
164025: test(164025);
164836: test(164836);
165649: test(165649);
166464: test(166464);
167281: test(167281);
168100: test(168100);
168921: test(168921);
169744: test(169744);
170569: test(170569);
171396: test(171396);
172225: test(172225);
173056: test(173056);
173889: test(173889);
174724: test(174724);
175561: test(175561);
176400: test(176400);
177241: test(177241);
178084: test(178084);
178929: test(178929);
179776: test(179776);
180625: test(180625);
181476: test(181476);
182329: test(182329);
183184: test(183184);
184041: test(184041);
184900: test(184900);
185761: test(185761);
186624: test(186624);
187489: test(187489);
188356: test(188356);
189225: test(189225);
190096: test(190096);
190969: test(190969);
191844: test(191844);
192721: test(192721);
193600: test(193600);
194481: test(194481);
195364: test(195364);
196249: test(196249);
197136: test(197136);
198025: test(198025);
198916: test(198916);
199809: test(199809);
200704: test(200704);
201601: test(201601);
202500: test(202500);
203401: test(203401);
204304: test(204304);
205209: test(205209);
206116: test(206116);
207025: test(207025);
207936: test(207936);
208849: test(208849);
209764: test(209764);
210681: test(210681);
211600: test(211600);
212521: test(212521);
213444: test(213444);
214369: test(214369);
215296: test(215296);
216225: test(216225);
217156: test(217156);
218089: test(218089);
219024: test(219024);
219961: test(219961);
220900: test(220900);
221841: test(221841);
222784: test(222784);
223729: test(223729);
224676: test(224676);
225625: test(225625);
226576: test(226576);
227529: test(227529);
228484: test(228484);
229441: test(229441);
230400: test(230400);
231361: test(231361);
232324: test(232324);
233289: test(233289);
234256: test(234256);
235225: test(235225);
236196: test(236196);
237169: test(237169);
238144: test(238144);
239121: test(239121);
240100: test(240100);
241081: test(241081);
242064: test(242064);
243049: test(243049);
244036: test(244036);
245025: test(245025);
246016: test(246016);
247009: test(247009);
248004: test(248004);
249001: test(249001);
250000: test(250000);
251001: test(251001);
252004: test(252004);
253009: test(253009);
254016: test(254016);
255025: test(255025);
256036: test(256036);
257049: test(257049);
258064: test(258064);
259081: test(259081);
260100: test(260100);
261121: test(261121);
262144: test(262144);
263169: test(263169);
264196: test(264196);
265225: test(265225);
266256: test(266256);
267289: test(267289);
268324: test(268324);
269361: test(269361);
270400: test(270400);
271441: test(271441);
272484: test(272484);
273529: test(273529);
274576: test(274576);
275625: test(275625);
276676: test(276676);
277729: test(277729);
278784: test(278784);
279841: test(279841);
280900: test(280900);
281961: test(281961);
283024: test(283024);
284089: test(284089);
285156: test(285156);
286225: test(286225);
287296: test(287296);
288369: test(288369);
289444: test(289444);
290521: test(290521);
291600: test(291600);
292681: test(292681);
293764: test(293764);
294849: test(294849);
295936: test(295936);
297025: test(297025);
298116: test(298116);
299209: test(299209);
300304: test(300304);
301401: test(301401);
302500: test(302500);
303601: test(303601);
304704: test(304704);
305809: test(305809);
306916: test(306916);
308025: test(308025);
309136: test(309136);
310249: test(310249);
311364: test(311364);
312481: test(312481);
313600: test(313600);
314721: test(314721);
315844: test(315844);
316969: test(316969);
318096: test(318096);
319225: test(319225);
320356: test(320356);
321489: test(321489);
322624: test(322624);
323761: test(323761);
324900: test(324900);
326041: test(326041);
327184: test(327184);
328329: test(328329);
329476: test(329476);
330625: test(330625);
331776: test(331776);
332929: test(332929);
334084: test(334084);
335241: test(335241);
336400: test(336400);
337561: test(337561);
338724: test(338724);
339889: test(339889);
341056: test(341056);
342225: test(342225);
343396: test(343396);
344569: test(344569);
345744: test(345744);
346921: test(346921);
348100: test(348100);
349281: test(349281);
350464: test(350464);
351649: test(351649);
352836: test(352836);
354025: test(354025);
355216: test(355216);
356409: test(356409);
357604: test(357604);
358801: test(358801);
360000: test(360000);
361201: test(361201);
362404: test(362404);
363609: test(363609);
364816: test(364816);
366025: test(366025);
367236: test(367236);
368449: test(368449);
369664: test(369664);
370881: test(370881);
372100: test(372100);
373321: test(373321);
374544: test(374544);
375769: test(375769);
376996: test(376996);
378225: test(378225);
379456: test(379456);
380689: test(380689);
381924: test(381924);
383161: test(383161);
384400: test(384400);
385641: test(385641);
386884: test(386884);
388129: test(388129);
389376: test(389376);
390625: test(390625);
391876: test(391876);
393129: test(393129);
394384: test(394384);
395641: test(395641);
396900: test(396900);
398161: test(398161);
399424: test(399424);
400689: test(400689);
401956: test(401956);
403225: test(403225);
404496: test(404496);
405769: test(405769);
407044: test(407044);
408321: test(408321);
409600: test(409600);
410881: test(410881);
412164: test(412164);
413449: test(413449);
414736: test(414736);
416025: test(416025);
417316: test(417316);
418609: test(418609);
419904: test(419904);
421201: test(421201);
422500: test(422500);
423801: test(423801);
425104: test(425104);
426409: test(426409);
427716: test(427716);
429025: test(429025);
430336: test(430336);
431649: test(431649);
432964: test(432964);
434281: test(434281);
435600: test(435600);
436921: test(436921);
438244: test(438244);
439569: test(439569);
440896: test(440896);
442225: test(442225);
443556: test(443556);
444889: test(444889);
446224: test(446224);
447561: test(447561);
448900: test(448900);
450241: test(450241);
451584: test(451584);
452929: test(452929);
454276: test(454276);
455625: test(455625);
456976: test(456976);
458329: test(458329);
459684: test(459684);
461041: test(461041);
462400: test(462400);
463761: test(463761);
465124: test(465124);
466489: test(466489);
467856: test(467856);
469225: test(469225);
470596: test(470596);
471969: test(471969);
473344: test(473344);
474721: test(474721);
476100: test(476100);
477481: test(477481);
478864: test(478864);
480249: test(480249);
481636: test(481636);
483025: test(483025);
484416: test(484416);
485809: test(485809);
487204: test(487204);
488601: test(488601);
490000: test(490000);
491401: test(491401);
492804: test(492804);
494209: test(494209);
495616: test(495616);
497025: test(497025);
498436: test(498436);
499849: test(499849);
501264: test(501264);
502681: test(502681);
504100: test(504100);
505521: test(505521);
506944: test(506944);
508369: test(508369);
509796: test(509796);
511225: test(511225);
512656: test(512656);
514089: test(514089);
515524: test(515524);
516961: test(516961);
518400: test(518400);
519841: test(519841);
521284: test(521284);
522729: test(522729);
524176: test(524176);
525625: test(525625);
527076: test(527076);
528529: test(528529);
529984: test(529984);
531441: test(531441);
532900: test(532900);
534361: test(534361);
535824: test(535824);
537289: test(537289);
538756: test(538756);
540225: test(540225);
541696: test(541696);
543169: test(543169);
544644: test(544644);
546121: test(546121);
547600: test(547600);
549081: test(549081);
550564: test(550564);
552049: test(552049);
553536: test(553536);
555025: test(555025);
556516: test(556516);
558009: test(558009);
559504: test(559504);
561001: test(561001);
562500: test(562500);
564001: test(564001);
565504: test(565504);
567009: test(567009);
568516: test(568516);
570025: test(570025);
571536: test(571536);
573049: test(573049);
574564: test(574564);
576081: test(576081);
577600: test(577600);
579121: test(579121);
580644: test(580644);
582169: test(582169);
583696: test(583696);
585225: test(585225);
586756: test(586756);
588289: test(588289);
589824: test(589824);
591361: test(591361);
592900: test(592900);
594441: test(594441);
595984: test(595984);
597529: test(597529);
599076: test(599076);
600625: test(600625);
602176: test(602176);
603729: test(603729);
605284: test(605284);
606841: test(606841);
608400: test(608400);
609961: test(609961);
611524: test(611524);
613089: test(613089);
614656: test(614656);
616225: test(616225);
617796: test(617796);
619369: test(619369);
620944: test(620944);
622521: test(622521);
624100: test(624100);
625681: test(625681);
627264: test(627264);
628849: test(628849);
630436: test(630436);
632025: test(632025);
633616: test(633616);
635209: test(635209);
636804: test(636804);
638401: test(638401);
640000: test(640000);
641601: test(641601);
643204: test(643204);
644809: test(644809);
646416: test(646416);
648025: test(648025);
649636: test(649636);
651249: test(651249);
652864: test(652864);
654481: test(654481);
656100: test(656100);
657721: test(657721);
659344: test(659344);
660969: test(660969);
662596: test(662596);
664225: test(664225);
665856: test(665856);
667489: test(667489);
669124: test(669124);
670761: test(670761);
672400: test(672400);
674041: test(674041);
675684: test(675684);
677329: test(677329);
678976: test(678976);
680625: test(680625);
682276: test(682276);
683929: test(683929);
685584: test(685584);
687241: test(687241);
688900: test(688900);
690561: test(690561);
692224: test(692224);
693889: test(693889);
695556: test(695556);
697225: test(697225);
698896: test(698896);
700569: test(700569);
702244: test(702244);
703921: test(703921);
705600: test(705600);
707281: test(707281);
708964: test(708964);
710649: test(710649);
712336: test(712336);
714025: test(714025);
715716: test(715716);
717409: test(717409);
719104: test(719104);
720801: test(720801);
722500: test(722500);
724201: test(724201);
725904: test(725904);
727609: test(727609);
729316: test(729316);
731025: test(731025);
732736: test(732736);
734449: test(734449);
736164: test(736164);
737881: test(737881);
739600: test(739600);
741321: test(741321);
743044: test(743044);
744769: test(744769);
746496: test(746496);
748225: test(748225);
749956: test(749956);
751689: test(751689);
753424: test(753424);
755161: test(755161);
756900: test(756900);
758641: test(758641);
760384: test(760384);
762129: test(762129);
763876: test(763876);
765625: test(765625);
767376: test(767376);
769129: test(769129);
770884: test(770884);
772641: test(772641);
774400: test(774400);
776161: test(776161);
777924: test(777924);
779689: test(779689);
781456: test(781456);
783225: test(783225);
784996: test(784996);
786769: test(786769);
788544: test(788544);
790321: test(790321);
792100: test(792100);
793881: test(793881);
795664: test(795664);
797449: test(797449);
799236: test(799236);
801025: test(801025);
802816: test(802816);
804609: test(804609);
806404: test(806404);
808201: test(808201);
810000: test(810000);
811801: test(811801);
813604: test(813604);
815409: test(815409);
817216: test(817216);
819025: test(819025);
820836: test(820836);
822649: test(822649);
824464: test(824464);
826281: test(826281);
828100: test(828100);
829921: test(829921);
831744: test(831744);
833569: test(833569);
835396: test(835396);
837225: test(837225);
839056: test(839056);
840889: test(840889);
842724: test(842724);
844561: test(844561);
846400: test(846400);
848241: test(848241);
850084: test(850084);
851929: test(851929);
853776: test(853776);
855625: test(855625);
857476: test(857476);
859329: test(859329);
861184: test(861184);
863041: test(863041);
864900: test(864900);
866761: test(866761);
868624: test(868624);
870489: test(870489);
872356: test(872356);
874225: test(874225);
876096: test(876096);
877969: test(877969);
879844: test(879844);
881721: test(881721);
883600: test(883600);
885481: test(885481);
887364: test(887364);
889249: test(889249);
891136: test(891136);
893025: test(893025);
894916: test(894916);
896809: test(896809);
898704: test(898704);
900601: test(900601);
902500: test(902500);
904401: test(904401);
906304: test(906304);
908209: test(908209);
910116: test(910116);
912025: test(912025);
913936: test(913936);
915849: test(915849);
917764: test(917764);
919681: test(919681);
921600: test(921600);
923521: test(923521);
925444: test(925444);
927369: test(927369);
929296: test(929296);
931225: test(931225);
933156: test(933156);
935089: test(935089);
937024: test(937024);
938961: test(938961);
940900: test(940900);
942841: test(942841);
944784: test(944784);
946729: test(946729);
948676: test(948676);
950625: test(950625);
952576: test(952576);
954529: test(954529);
956484: test(956484);
958441: test(958441);
960400: test(960400);
962361: test(962361);
964324: test(964324);
966289: test(966289);
968256: test(968256);
970225: test(970225);
972196: test(972196);
974169: test(974169);
976144: test(976144);
978121: test(978121);
980100: test(980100);
982081: test(982081);
984064: test(984064);
986049: test(986049);
988036: test(988036);
990025: test(990025);
992016: test(992016);
994009: test(994009);
996004: test(996004);
998001: test(998001);
1000000: test(1000000);
1002001: test(1002001);
1004004: test(1004004);
1006009: test(1006009);
1008016: test(1008016);
1010025: test(1010025);
1012036: test(1012036);
1014049: test(1014049);
1016064: test(1016064);
1018081: test(1018081);
1020100: test(1020100);
1022121: test(1022121);
1024144: test(1024144);
1026169: test(1026169);
1028196: test(1028196);
1030225: test(1030225);
1032256: test(1032256);
1034289: test(1034289);
1036324: test(1036324);
1038361: test(1038361);
1040400: test(1040400);
1042441: test(1042441);
1044484: test(1044484);
1046529: test(1046529);
end;
str((now-myTime)*10e4:2:3,ts);
writeln(ts+'sec.');
end.
Добавлено спустя 4 минуты 21 секунду:>>В чём подвох? Где Zub мухлюет?
подвох в том что тут много промахов. в случае промаха case проебегает все ~1000 значений, а DoIt не находит ключа за максимум 10 итераций. гугли бинарный поиск
Добавлено спустя 7 минут 4 секунды:убрав промахи и сделав цикл "побольше" чтоб время было заметней
- Код: Выделить всё
for j:=0 to 1000 do
for i:=0 to 1023 do
MyCase.DoIt(i*i);
получаем
E:testcase>E:testcasecase2map.exe
Inserting 0.001sec.
DoIt 0.111sec.
E:testcase>E:testcasestandartcase.exe
0.189sec.
Не так феерично, но тоже потянет
Добавлено спустя 2 минуты 7 секунд:Кстати да, ведь соврал))
Добавлено спустя 3 минуты 32 секунды:Исправил, сбил меня этот генератор исходных циферек, поспешишь-людей насмешишь
Добавлено спустя 10 минут 11 секунд:результаты после компилятора собраного с O2
E:testcase>E:testcasecase2map.exe
Inserting 0.001sec.
DoIt 0.065sec.
E:testcase>E:testcasestandartcase.exe
0.345sec.
Добавлено спустя 33 минуты 32 секунды:ну и роследний вариант case2map
- Код: Выделить всё
program case2map;
uses
gmap,gutil,sysutils;
type
TMyKey=Integer;
TMyOnKeyProc=procedure(key:integer);
TMyKeyComparer=specialize TLess<TMyKey>;
TMyCase2Map=class(specialize TMap<TMyKey,TMyOnKeyProc,TMyKeyComparer>)
procedure doit(key:TMyKey);
end;
var
MyCase:TMyCase2Map;
myTime:TDateTime;
ts:string;
i,j:integer;
procedure test(key:integer);
begin
randseed:=key;
end;
procedure TMyCase2Map.doit(key:TMyKey);
var
proc:TMyOnKeyProc;
begin
if TryGetValue(key,proc) then
proc(key)
end;
begin
MyCase:=TMyCase2Map.Create;
myTime:=now;
for i:=0 to 1023 do
MyCase.Insert(i*i,@test);
str((now-myTime)*10e4:2:3,ts);
writeln('Inserting '+ts+'sec.');
myTime:=now;
for i:=0 to 1046529 do
MyCase.DoIt(i);
str((now-myTime)*10e4:2:3,ts);
writeln('DoIt '+ts+'sec.');
MyCase.Destroy;
end.