Suche performante client http/https Bibliothek für Win64
-
Hallo Leute,
ich bin auf der Suche nach einer Bibliothek, mit der ich Dateien per http bzw. per https aus dem Internet herunterladen kann. Mir ist vor allem die Performance sehr wichtig. Ich möchte einen Crawler bauen und hierfür brauche ich schon Performance. Thread-Safe muss alles nicht sein, aber ich möchte schon mit zahlreichen Threads den Crawler loslassen.
So rein vom Gefühl würde ich zu libcurl greifen. Als 64 Bit Version brauche ich aber eine MinGW Version der Library. MinGW steht für mich irgendwie nicht für Performance.
Auf der libcurl Seite gibt es Alternativen. Doch leider ist da nicht wirklich erkennbar, wie performant die Bibliothek wirklich ist.
-
HTTP und Performance sind ein Widerspruch. Versuchs doch mal mit SPDY.
-
LL0rd schrieb:
Ich möchte einen Crawler bauen und hierfür brauche ich schon Performance. Thread-Safe muss alles nicht sein, aber ich möchte schon mit zahlreichen Threads den Crawler loslassen.
Nur dass alles komplett durch die Netzwerkverbindung limitiert ist. Du kannst den Krempel in jeder Scriptsprache schreiben und auf einer 10 Jahre alten Billig-CPU laufen lassen - 99% der Zeit wird auf die Netzwerkkarte gewartet.
LL0rd schrieb:
MinGW steht für mich irgendwie nicht für Performance.
Soso, für was dann?
-
mit der ich Dateien per http bzw. per https aus dem Internet herunterladen kann.
z.b: http://www.news2news.com/vfp/?example=175&ver=vcpp
Für was Bibliothek suchen, wenn "Downloader" kannst dir selber schreiben.
-
Kellerautomat schrieb:
HTTP und Performance sind ein Widerspruch. Versuchs doch mal mit SPDY.
*facepalm*
Du plapperst auch einfach das nach was du irgendwo liest, ohne es verstanden zu haben, oder?
-
LL0rd schrieb:
Ich möchte einen Crawler bauen und hierfür brauche ich schon Performance. Thread-Safe muss alles nicht sein, aber ich möchte schon mit zahlreichen Threads den Crawler loslassen.
Bei HTTP über eine unverschlüsselte Verbindung, mit Dateien die pro Stück wengistens etliche zig Kilobyte haben, wirst du vermutlich sowieso nicht CPU-bound sein.
Würde mich zumindest stark wundern.Oder anders rum gesagt: wenn du genug Threads lostrittst solltest du es mit jeder HTTP Library schaffen auch eine halbwegs dicke Internet-Pipe auszulasten.
Und was das Vermeiden von unnötigen Round-Trips bzw. unnötig kleinen Netzwerkpaketen angeht - dazu muss die Library bloss schlau genug sein den ganzen Request mit einem einzigen send() abzuschicken. Und das sollte libcurl schaffen.