diff --git a/entries/ghatem-fpc/src/OneBRC.lpr b/entries/ghatem-fpc/src/OneBRC.lpr index 4f4111c..cbf75af 100644 --- a/entries/ghatem-fpc/src/OneBRC.lpr +++ b/entries/ghatem-fpc/src/OneBRC.lpr @@ -459,6 +459,12 @@ procedure TOneBRC.ProcessData (aThreadNb: TThreadCount; aStartIdx: Int64; aEndId vLineStart := i; while i < aEndIdx do begin + + // can still skip some chars + if FData[i] > ';' then begin + Inc (I, 5); + end; + while FData[i] <> #10 do begin Inc (I); end; @@ -574,8 +580,7 @@ procedure TOneBRC.GenerateOutput; try vStations.BeginUpdate; for iStationName in FDictionary.FStationNames do begin - if iStationName <> '' then - vStations.Add(iStationName); + vStations.Add(iStationName); end; vStations.EndUpdate; vStations.CustomSort (@Compare); @@ -622,7 +627,6 @@ procedure TOneBRC.GenerateOutput; procedure TBRCThread.Execute; begin FProc (FThreadNb, FStart, FEnd); - Terminate; end; constructor TBRCThread.Create(aProc: TThreadProc; aThreadNb: TThreadCount; aStart: Int64; aEnd: Int64);