home *** CD-ROM | disk | FTP | other *** search
- USES String1, Time;
-
-
- CONST MaxLoop = 1000;
-
- VAR H, L: WORD;
- A: STRING;
- Time1, Time2, Start: REAL;
-
-
- BEGIN
- WriteLn ('Comparing the user written string routines to TURBO-Pascal''s');
- WriteLn;
- Start := Clock;
- A := 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz';
- FOR L := 1 TO MaxLoop DO BEGIN
- Insert ('12345678901234567890', A, PRED (SIZEOF(A)), 1);
- H := Pos ('?', A);
- Insert ('ABCDEFGHIJKLMNOPQRST', A, PRED (SIZEOF(A)), 40);
- H := Pos ('ABCDEF', A);
- Insert ('12345678901234567890', A, PRED (SIZEOF(A)), 255);
- H := Pos ('90', A);
- Delete (A, 40, 20);
- Delete (A, 1, 20);
- Delete (A, 53, 20);
- END;
- Time1 := Clock-Start;
- WriteLn ('Time for user routines: ', Time1/1000:5:3, ' sec (= 100%)');
- Start := Clock;
- A := 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz';
- FOR L := 1 TO MaxLoop DO BEGIN
- System.Insert ('12345678901234567890', A, 1);
- H := System.Pos ('?', A);
- System.Insert ('ABCDEFGHIJKLMNOPQRST', A, 40);
- H := System.Pos ('ABCDEF', A);
- System.Insert ('12345678901234567890', A, 255);
- H := System.Pos ('90', A);
- System.Delete (A, 40, 20);
- System.Delete (A, 1, 20);
- System.Delete (A, 53, 20);
- END;
- Time2 := Clock-Start;
- WriteLn ('Time for built-in routines: ', Time2/1000:5:3, ' sec (=', Time2/Time1*100:4:0, '%)');
-
- END.