Seite 3 von 5

Re: FTP-Übertragung langsam

Verfasst: 17.09.2015 15:29
von texti
erstmal vielen dank an hex0r und thomas für die ausführlichen antworten!
das geht zwar am eigentlichen thema vorbei, aber da hätte ich dann doch noch ein paar fragen: "kugelsicher" sind die meisten funktionen von purebasic ja schon. ist das dann noch prozedural, oder schon oop? gerade bei den ganzen event-sachen? ... und wenn man dann noch treads nutzt ...
ist offtopic, aber interessieren würde mich das schon ...
gruß
gorden

Re: FTP-Übertragung langsam

Verfasst: 17.09.2015 16:35
von NicTheQuick
Threads und Callbacks haben nichts mit OOP zu tun. Hier wird schließlich nicht mit Objekten gearbeitet. Man könnte sagen, beides gibt es schon länger als OOP.

Re: FTP-Übertragung langsam

Verfasst: 17.09.2015 16:58
von ts-soft
texti hat geschrieben:das geht zwar am eigentlichen thema vorbei
Finde ich gar nicht, weil das Problem mit der Geschwindigkeit liegt ja in erster Linie am fehlendem Event-Handling! Siehe HeXORs Code,
da läuft es wesentlich schneller! Ohne Event-Handling passiert nicht viel. Auch Events, die Du nicht siehst, wollen verarbeitet werden
und das ist mit einem Delay von 1000 kaum möglich.

Und ja, es ist reine procedurale Programmierung. Hier wurde kein OOP versteckt, was aber auch nichts ändern würde. Da verwechselst Du was.
Und es gibt auch Ereignisse, die Du nicht siehst, die aber nur erfolgreich nach einem WaitWindowEvent() abgearbeitet werden. Diese werden
aber in Deinem erstem Code total ausgebremst.

Diverse Funktionen in PB benötigen eine Eventbearbeitung, z.B. Requester, und sei es nur durch aufruf der Funktion WaitWindowEvent().
Alle Funktionen die während eines WaitWindowEvent() nicht abgerufen werden, werden weitergeleitet an PB oder Windows, wo sie dann ab-
gearbeitet werden können. Diese Abarbeitung darfst Du aber nicht ausbremsen, z.B. durch Delay oder ähnlich. Manchmal hilft PB ein wenig nach,
in dem es manche Ereignisse "SubClassed", aber davon darfst Du nicht ausgehen, das wäre auch nicht Crossplattform.

Also wichtig:
Nur auf Ereignisse reagieren, schnell und schmerzlos.
Danach sofort in die Ereignisschleife zurück, schnell und schmerzlos.

Wenn etwas sehr lange benötigt, aber keine Ereignisse erzeugt, dann in einen Thread packen.

Diese Erläuterung ist zwar nur prinzipiell Richtig, aber nicht in jedem Falle einzuhalten. So wie überall gibts es natürlich auch Ausnahmen.

Gruß
Thomas

Re: FTP-Übertragung langsam

Verfasst: 17.09.2015 21:33
von HeX0R
Ich habe das eben mit der letzten Beta (x86 und x64) getestet, es scheint FTPProgress gibt ein LONG aus, was ziemlich doof ist.

Habe es mal gemeldet, vielleicht kommts ja noch in die Final.

Re: FTP-Übertragung langsam

Verfasst: 17.09.2015 23:26
von texti
dann nochmal danke für die hilfe an alle! dachte eigentlich, daß das eine einfache sache "mit großen zahlen" wäre. habe das ganze einfach mal mit gleichem code unter linux probiert, und komme auch dort nicht wesentlich über 2.200kbit/s. ist das eine tread-beschränkung bei purebasic? - unabhängig von den verbesserungsvorschlägen ...
gruß
gorden

Re: FTP-Übertragung langsam

Verfasst: 18.09.2015 00:13
von HeX0R
Ich hatte bei meinen Versuchen mit meinem Code etwa 45MByte/s (im LAN) => 360Mbit/s, filezilla erreicht die selbe Geschwindigkeit.
Die 60MByte hatte ich nur einmal von all meinen Versuchen hinbekommen, aber 45 ist auch recht ordentlich, ist ja nicht so, dass mein LAN brach liegt...

Re: FTP-Übertragung langsam

Verfasst: 18.09.2015 01:28
von Kiffi
HeX0R hat geschrieben:Habe es mal gemeldet
Danke! :allright:

Grüße ... Peter

// Edit:
Fred hat geschrieben:Fixed.
:D

Re: FTP-Übertragung langsam

Verfasst: 24.09.2015 09:58
von texti
hallo zurück,
das mit dem fixen ging ja wirklich schnell! coole sache :D

nun nochmal zurück zum thema:
ich will ja kein spielverderber sein, aber das hier passiert bei dem code von hexor

Bild

-> das ergebnis ist genau das gleiche, wie bei meinem versuch und es werden wieder nur etwa 2.200kbit/s übertragen. im lan konnte ich sogar mehr als die 60mb/s (wie von hexor geschrieben) erreichen, nur eben über internet nicht. es war sogar egal, ob der code von hexor, oder mein versuch lief - die datenraten waren gleich. hat noch jemand ne idee? falls nicht, bleibt wohl nur der weg über mehrere gleichzeitige uploads.

gruß
gorden

Re: FTP-Übertragung langsam

Verfasst: 24.09.2015 12:11
von Bisonte
Und da kommt wieder das in's Spiel was ich bereits erwähnte.... Geschwindigkeiten sind auch von der Gegenstelle abhängig.
Faktoren die das "drücken" gibt es viele. Solange der Upload stabil durchläuft (also ohne Abbrüche) dann braucht man sich darüber
keine Gedanken zu machen, oder man fragt den Provider was da los ist.
Evt. gibt es sogar irgendwo einen Speedtest, der einem den Server auswählen lässt....

Re: FTP-Übertragung langsam

Verfasst: 24.09.2015 13:36
von GPI
Bisonte hat geschrieben:Und da kommt wieder das in's Spiel was ich bereits erwähnte.... Geschwindigkeiten sind auch von der Gegenstelle abhängig.
Faktoren die das "drücken" gibt es viele. Solange der Upload stabil durchläuft (also ohne Abbrüche) dann braucht man sich darüber
keine Gedanken zu machen, oder man fragt den Provider was da los ist.
Andere Möglichkeit wäre, das Filezilla irgendein Protocoll-Art unterstützt, die PB nicht kann und daher eine höhere Geschwindigkeit ermöglicht. Denkbar wäre bspw. das Filezilla automatisch mehrfach die Datei überträgt.
Evt. gibt es sogar irgendwo einen Speedtest, der einem den Server auswählen lässt....
Ich hoffe doch nicht. Die freuen sich sicherlich alle, wenn man auf fremde Server solch einen Test startet.