MTU (Maximum Transmission Unit) Tester

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
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

Beitrag von ts-soft »

DarkDragon hat geschrieben: Btw.: Hier wäre doch suxessive Approximation gut zur Optimierung des Codes.
suxessive Approximation? :mrgreen: Wir sind hier im dt. Board :lol:

"Zeitüberschreitung der Anforderung" sollte ich wohl noch berücksichtigen.

PS: bei mir gibts keine Probleme mit google.de :twisted:
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
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Suxessive Approximation:

1. Prüfwert 1400, läuft; Prüfwert + 100
2. Prüfwert 1500, läuft nicht; Prüfwert - 50
3. Prüfwert 1450, läuft nicht; Prüfwert - 25
4. Prüfwert 1425, läuft; Prüfwert + 12
5. Prüfwert 1437, läuft nicht; Prüfwert - 6
6. Prüfwert 1431, läuft; Prüfwert + 3
7. Prüfwert 1434, läuft nicht; Prüfwert - 1
8. Prüfwert 1433, läuft; Prüfwert + 0 = Ende, MTU = 1433

Wenn du jetzt von 1500 auf 1433 in 2er Schritten runterzählst und jedes mal verbindest braucht das (1500 - 1433) / 2 * Verbindungstimeout Sekunden. Hier brauchts nur Verbindungstimeout * 8 Sekunden.

Also jedes mal wenns zu niedrig ist + Halberintervall von vorhin und wenns falsch ist - Halberintervall von vorhin.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
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

Beitrag von ts-soft »

Danke für die Aufklärung was "Suxessive Approximation" ist. Also sowas
ähnliches wie BubbleSort

Wäre ein nettes Feature. Dieses Beispiel soll allerdings keine fertige
Anwendung darstellen, sondern soll nur den einen oder anderen dazu in die
Lage versetzen seine Verbindungsausfälle zu minimieren, ansonsten als
Anregung für eigene Anwendungen dienen.

Aber wenn jemand Lust hat es einzubauen, kann er es gerne hier posten.
(Versionen, ohne Ping zu nutzen, wären auch Interessant)

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
Antworten