Einzelnen Beitrag anzeigen

jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#1

Performance von Indy tidimap

  Alt 31. Jan 2010, 21:18
Hallo,

es geht darum die Mails von einem IMAP Server verwalten zu lassen, anstatt sie doppelt auch in der lokalen Datenbank abzulegen.
Dazu habe ich z. B. die TidImap Komponente (Indy 10.) benutzt. Dazu habe ich das Bespiel Mail Programm der Indy's verwendet.
Das lesen funktionert auch, aber die Geschwindigkeit ist recht langsam, für 30 Mail Header (nur die Header) benötige ich ca. 4-5 Sekunden.
Gleichzeitig habe ich mit einem die Demo Version von IP*Works installiert und siehe da, das IP*Works Demo schafft locker 700 Mails in der gleichen Zeit.
Jetzt Frage ich mich, ist Indy wirklich so viel langsamer, oder ist es einfach ein Denkfehler von mir.

Mit Indy läuft eine Schleife:
Delphi-Quellcode:
            for i := 0 to min(nCount-1,30) do begin
                TheImap.GetUID(ncount - i, TheUID);
                TheImap.UIDRetrieveFlags(TheUID, TheFlags);
                TheImap.uidRetrieveHeader(TheUID, TheMsg);
Ich habe es mit den Indy' auch nur mit einem :
                TheImap.uidRetrieveHeader(int, TheMsg); versucht, ist etwas schneller, aber nicht viel.

Bei IP*Works gibt es eine Funktion:
ipwIMAP1.FetchMessageInfo(); Diese Funktion erspart die Schleife und im OnMessageInfo Event kann kann man die zurückgelieferten Einträge in der gewünschten Form darstellen.

Ich habe es mit Delphi 7 Architect und Delphi 2010 Enterprise getestet, das Ergebnis ist das gleiche.
Vieleicht bin ja einfach nur Betiebsbling im Moment

Gruß

Jörg

[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]
Jörg Heyer
  Mit Zitat antworten Zitat