Delphi: Warum IdHTTP.ConnectTimeout Anfragen langsamer?

Entdeckte ich, dass bei der Festlegung der ConnectTimeoout Eigenschaft für eine TIdHTTP-Komponente, macht es die Anfragen (GET und POST) werden über 120ms langsamer?

Warum ist das so und kann ich das vermeiden/das irgendwie umgehen?

Env: D2010 mit ausgeliefert Indy-Komponenten, alle updates installiert für D2010. OS ist WinXP (32bit) SP3 mit den meisten patches...

Mein timing-routine:

    Procedure DoGet;
    Var
       Freq,T1,T2 : Int64;
       Cli        : TIdHTTP;
       S          : String;
    begin
         QueryPerformanceFrequency(Freq);
         Try
            QueryPerformanceCounter(T1);
            Cli := TIdHTTP.Create( NIL );
            Cli.ConnectTimeout := 1000;  // without this we get < 15ms!!
            S := Cli.Get('http://127.0.0.1/empty_page.php');
         Finally
            FreeAndNil(Cli);
            QueryPerformanceCounter(T2);
         End;
         Memo1.Lines.Add('Time = '+FormatFloat('0.000',(T2-T1)/Freq) );
    End;

Mit der ConnectTimeout set in code bekomme ich avg. mal von 130-140ms, ohne es über die 5-15ms ...

InformationsquelleAutor K.Sandell | 2010-05-05
Schreibe einen Kommentar