Skip to content

Commit 96549b3

Browse files
committed
chore: Forth submission from sbalazs
1 parent 1335a7e commit 96549b3

4 files changed

Lines changed: 366 additions & 233 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/bin
33
/data/measurements*.txt
44
/profiling
5+
/results
56

67
# Compiled l10n files: .mo should be ignored
78
*.mo

entries/sbalazs/src/obrc.lpi

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,79 @@
1515
<UseAppBundle Value="False"/>
1616
<ResourceType Value="res"/>
1717
</General>
18-
<BuildModes Count="1">
18+
<BuildModes Count="3">
1919
<Item1 Name="Default" Default="True"/>
20+
<Item2 Name="Debug">
21+
<CompilerOptions>
22+
<Version Value="11"/>
23+
<PathDelim Value="\"/>
24+
<Target>
25+
<Filename Value="..\..\..\bin\sbalazs"/>
26+
</Target>
27+
<SearchPaths>
28+
<IncludeFiles Value="$(ProjOutDir)"/>
29+
<UnitOutputDirectory Value="..\..\..\bin\lib\$(TargetCPU)-$(TargetOS)"/>
30+
</SearchPaths>
31+
<Parsing>
32+
<SyntaxOptions>
33+
<IncludeAssertionCode Value="True"/>
34+
</SyntaxOptions>
35+
</Parsing>
36+
<CodeGeneration>
37+
<Checks>
38+
<IOChecks Value="True"/>
39+
<RangeChecks Value="True"/>
40+
<OverflowChecks Value="True"/>
41+
<StackChecks Value="True"/>
42+
</Checks>
43+
<VerifyObjMethodCallValidity Value="True"/>
44+
</CodeGeneration>
45+
<Linking>
46+
<Debugging>
47+
<DebugInfoType Value="dsDwarf3"/>
48+
<UseHeaptrc Value="True"/>
49+
<TrashVariables Value="True"/>
50+
<UseExternalDbgSyms Value="True"/>
51+
</Debugging>
52+
</Linking>
53+
<Other>
54+
<CompilerMessages>
55+
<IgnoredMessages idx5024="True"/>
56+
</CompilerMessages>
57+
</Other>
58+
</CompilerOptions>
59+
</Item2>
60+
<Item3 Name="Release">
61+
<CompilerOptions>
62+
<Version Value="11"/>
63+
<PathDelim Value="\"/>
64+
<Target>
65+
<Filename Value="..\..\..\bin\sbalazs"/>
66+
</Target>
67+
<SearchPaths>
68+
<IncludeFiles Value="$(ProjOutDir)"/>
69+
<UnitOutputDirectory Value="..\..\..\bin\lib\$(TargetCPU)-$(TargetOS)"/>
70+
</SearchPaths>
71+
<CodeGeneration>
72+
<SmartLinkUnit Value="True"/>
73+
<Optimizations>
74+
<OptimizationLevel Value="3"/>
75+
</Optimizations>
76+
</CodeGeneration>
77+
<Linking>
78+
<Debugging>
79+
<GenerateDebugInfo Value="False"/>
80+
<RunWithoutDebug Value="True"/>
81+
</Debugging>
82+
<LinkSmart Value="True"/>
83+
</Linking>
84+
<Other>
85+
<CompilerMessages>
86+
<IgnoredMessages idx5024="True"/>
87+
</CompilerMessages>
88+
</Other>
89+
</CompilerOptions>
90+
</Item3>
2091
</BuildModes>
2192
<PublishOptions>
2293
<Version Value="2"/>

entries/sbalazs/src/obrc.lpr

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,7 @@
1212

1313
var
1414
TC: Integer;
15-
FTick: QWord;
1615
FWSManager: TWSManager;
17-
MStart, MFinish: TMethod;
18-
19-
20-
procedure DoOnStart(Sender: TObject);
21-
begin
22-
Writeln('Process started at: ' + FormatDateTime('hh:mm:ss:zzz', Now));
23-
FTick := GetTickCount64;
24-
end;
25-
26-
procedure DoOnFinish(Sender: TObject);
27-
begin
28-
FTick := GetTickCount64 - FTick;
29-
Writeln('Process finished at: ' + FormatDateTime('hh:mm:ss:zzz', Now));
30-
Writeln('Duration: ' + IntToStr(FTick) + ' ms');
31-
Halt;
32-
end;
3316

3417
begin
3518
if (ParamStr(1) = '-h') or (ParamStr(1) = '/?') or (ParamStr(1) = '--help') then
@@ -44,27 +27,14 @@ procedure DoOnFinish(Sender: TObject);
4427
Halt;
4528
end;
4629

47-
{if (Trim(ParamStr(2)) = '') then
48-
begin
49-
Writeln('Please specify a valid destination file');
50-
Halt;
51-
end;}
52-
5330
if (Trim(ParamStr(2)) <> '') then
54-
TC := StrToIntDef(ParamStr(3), 16)
31+
TC := StrToIntDef(ParamStr(2), 16)
5532
else
5633
TC := 16;
5734

5835
FWSManager := TWSManager.Create(ParamStr(1), TC);
59-
MStart.Data := nil;
60-
MStart.Code := @DoOnStart;
61-
FWSManager.OnStart := TNotifyEvent(MStart);
62-
MFinish.Data := nil;
63-
MFinish.Code := @DoOnFinish;
64-
FWSManager.OnFinish := TNotifyEvent(MFinish);
6536
FWSManager.WSThreadsWatcher.Start;
66-
repeat
67-
Sleep(1500);
68-
until 0 = 1;
37+
FWSManager.WSThreadsWatcher.WaitFor;
38+
FWSManager.Free;
6939
end.
7040

0 commit comments

Comments
 (0)