Was wäre die schnellste Download Methode?
Übersicht

![]() |
klinBetreff: Was wäre die schnellste Download Methode? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich habe mal nen Downloader gemacht, aber nur mit Read/Writebyte gemacht. Doch einer sagte, das der Download zu lahm wäre. Und nun wollte ich mal fragen, was wäre den nun die schnellste Methode um herunterzuladen? Also das er den vollen speed der leitung ausnutzt. z.B. Read/Writebyte usw. THX MFG Klin |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich weiss nicht ob es einen grossen Unterschied macht, aber statt Read/Writebyte könntest du es mal mit CopyStream oder CopyBytes versuchen. Falls du die Dateien sowieso nur herunterladen und speichern willst, empfiehlt sich CopyStream. Code: [AUSKLAPPEN] Local netstream:TStream = ReadStream("http::www.google.de/")
Local filestream:TStream = WriteFile("C:\test.txt") CopyStream(netstream, filestream) filestream.Close() netstream.Close() |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Letztendlich werden die Daten ja über Sockets gesendet / empfangen. Dabei sind Write- und ReadByte die langsamsten Funktionen, weil bei jedem Aufruf nur ein Byte übermittelt wird und so die Funktionen öfter aufgerufen werden müssen. Du könntest größere Datenpakete nehmen, indem du die Funktionen Read und Write aus dem Type TSocketStream benutzt. Bei denen kannst du die Menge der Daten angeben.
Ich weiss aber nicht, ob das einen großen Unterschied macht, denn hauptsächlich kommt es sowohl auf die Geschwindigkeit des Downloaders als auch die Geschwindigkeit des Uploaders an. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es macht einen unterschied und zwar nen erheblichen, denn die IO befehle sind blockend, das heisst 1 million readbyte werden 1 million mal das programm anhalten und fortsetzen. aber ein einzeles writebytes mit 1 million bytes wird nur 1 mal anhalten.
da anhalten und fortsetzen einen overhead haben macht das einen nicht unerheblichen unterschied. Ist einer der häufigsten gründe warum TCP streams in Blitz als "langsam" verschrien werden, weil es leute gibt die auf so hirnverbrannte ideen wie readline kommen was ebenfalls byte um byte ausliest (logisch es muss ja das ende der zeile auslesen) statt mit fixen packetgrössen zu arbeiten. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group