FTP-Übertragung langsam

Für allgemeine Fragen zur Programmierung mit PureBasic.
texti
Beiträge: 42
Registriert: 13.03.2009 13:24

Re: FTP-Übertragung langsam

Beitrag 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
Nichts wissen macht nichts. Man muß nur wissen, wo es steht, oder wen man fragen kann . . .
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: FTP-Übertragung langsam

Beitrag 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.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: FTP-Übertragung langsam

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 2959
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: FTP-Übertragung langsam

Beitrag 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.
texti
Beiträge: 42
Registriert: 13.03.2009 13:24

Re: FTP-Übertragung langsam

Beitrag 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
Nichts wissen macht nichts. Man muß nur wissen, wo es steht, oder wen man fragen kann . . .
Benutzeravatar
HeX0R
Beiträge: 2959
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: FTP-Übertragung langsam

Beitrag 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...
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: FTP-Übertragung langsam

Beitrag von Kiffi »

HeX0R hat geschrieben:Habe es mal gemeldet
Danke! :allright:

Grüße ... Peter

// Edit:
Fred hat geschrieben:Fixed.
:D
Hygge
texti
Beiträge: 42
Registriert: 13.03.2009 13:24

Re: FTP-Übertragung langsam

Beitrag 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
Nichts wissen macht nichts. Man muß nur wissen, wo es steht, oder wen man fragen kann . . .
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: FTP-Übertragung langsam

Beitrag 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....
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: FTP-Übertragung langsam

Beitrag 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.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Antworten