- Startseite
- Benchmark
IDM vs. MDM, auf die Millisekunde genau.
Beide Anwendungen auf demselben PC, abwechselnd vom selben Testserver heruntergeladen. Das Server-Logbuch zeigt, wann jede Anfrage ankam und wann das letzte Byte gesendet wurde, sodass nichts von den Angaben der Anwendungen abhängt.
Das Rennen
1,0×schneller
In Echtzeit von den Medianwerten abgespielt.
In jedem Szenario schneller.
Wie viel schneller MDM fertig war, vom Befehl bis zur fertigen Datei. Der Whisker ist das 95%-Intervall des Verhältnisses; die Skala ist logarithmisch.
480 Verbindungen gegen 2.
Ein Server, der zwei gleichzeitige Verbindungen zulässt. Jedes Quadrat ist eine Verbindung, die er bei einem typischen Durchlauf sah.
Lernt das Limit aus der Serverantwort, hält es ein und merkt es sich für das nächste Mal. Fertig in 12,6 s.
Versuchte es etwa 250 Mal pro Sekunde gegen die Ablehnungen. Fertig in 15,9 s.
Jeder Durchlauf ist ein Punkt.
Sieben Downloads, jeder mindestens siebenmal von beiden Apps ausgeführt. Der Balken zeigt die mittlere Hälfte der Läufe, die Linie den Median.
IDM braucht etwa drei Sekunden, um einen Download von der Befehlszeile anzunehmen, bevor es etwas sendet; Downloads, die von der Browser-Erweiterung abgefangen werden, überspringen diesen Schritt. Deshalb ist „Übertragung“ die faire Ansicht von Engine zu Engine. „Ende zu Ende“ ist auch hier.
Wohin die Zeit geht
Medianer Start (Befehl bis erste Anfrage), Übertragung und Abschluss jeder App, pro Szenario.
Was es den Computer kostet
Mediane CPU-Zeit, die jede App während eines Laufs benötigte, und ihr maximaler Speicherverbrauch. MDM zeichnet sein Fenster mit der GPU, was mehr Speicher benötigt als IDMs klassische Windows-Steuerelemente.
Alle Zahlen
| Szenario | App | n | Ende zu Ende, Median (IQR) | 95 % Konfidenzintervall des Medians | Übertragung | Start | Verbindungen | Anfragen | CPU | Maximaler Speicher | p |
|---|
Der Bericht
End-to-End-Mediane mit Interquartilsbereichen, das Verhältnis mit seinem 95 %-Intervall und der Mann-Whitney-Test, wie tools/bench/report.py sie schreibt.
| Szenario | IDM Median ms (IQR) | MDM Median ms (IQR) | IDM / MDM (95 % CI) | p (Mann-Whitney) |
|---|---|---|---|---|
| 1 GiB über eine schnelle lokale Verbindung | 5456 (5393–5496) | 1009 (944–1028) | 5.41× (5.21–5.89) | 0.000583 |
| 100 MiB, 2 MB/s pro Verbindung | 10234 (10221–10284) | 6319 (6317–6329) | 1.62× (1.61–1.63) | 0.000583 |
| 100 MiB, 150 ms Latenz, 4 MB/s pro Verbindung | 7622 (7497–7863) | 3844 (3842–3894) | 1.98× (1.92–2.05) | 0.000583 |
| 32 MiB, eine Verbindung in drei Durchläufen mit 128 KB/s | 7213 (6960–7256) | 3432 (3416–3840) | 2.10× (1.81–2.13) | 0.000583 |
| 50 MiB, Server erlaubt 2 Verbindungen, je 2 MB/s | 15864 (15810–15933) | 12568 (12563–12570) | 1.26× (1.25–1.27) | 0.000583 |
| 50 MiB, jede 2. Verbindung nach 2 MiB gekappt, 4 MB/s | 5428 (5387–5466) | 1647 (1645–1660) | 3.30× (3.24–3.34) | 0.000583 |
| 256 KiB Datei über eine schnelle lokale Verbindung | 3141 (3130–3164) | 30 (28–31) | 105.90× (99.96–112.75) | 3.39e-06 |
Intel(R) Core(TM) i5-13400F der 13. Generation, 63,8 GB RAM, Windows-11-10.0.26200-SP0. labserver (dieses Repository), 127.0.0.1:8097, generierter Inhalt. Beide mit Standardeinstellungen: 8 Verbindungen.
So wurde gemessen
- Server. Der Laborserver aus diesem Repository, auf 127.0.0.1, der generierte Inhalte bereitstellt. Er drosselt, verzögert, verweigert oder kappt Verbindungen je nach Szenario und protokolliert jede Anfrage mit Start- und Endzeiten in Millisekunden.
- Clients. IDM und MDM, beide mit Standardeinstellungen (8 Verbindungen), jeder Download über dieselbe dokumentierte Befehlszeile:
/d URL /p folder /f name /n. Beide speichern auf dem Laufwerk, das IDMs temporären Ordner enthält, sodass keine app eine laufwerksübergreifende Kopie bezahlen muss. - Zeitnahme. Ende zu Ende: vom Ausführen des Befehls bis zur fertigen Datei unter ihrem endgültigen Namen, jede Millisekunde auf einer monotonen Uhr abgefragt. MDM benennt seine fertige Datei um; IDM erstellt die endgültige Datei frühzeitig und füllt sie, sodass für IDM der Zeitpunkt zählt, an dem sie die volle Größe erreicht. Übertragung: vom ersten Request des Servers bis zum letzten Byte, auf derselben Uhr durch einen Kalibrierungs-Request vor jedem Lauf gemessen.
- Fairness. Die Anwendungen wechseln sich ab, IDM zuerst bei geraden Läufen und MDM zuerst bei ungeraden, sodass Abweichungen auf der Maschine beide treffen. Ein Aufwärmlauf wird jeweils verworfen. Fehlgeschlagene Läufe werden gezählt, nicht verworfen. Vor jedem Lauf wartet das Testsystem, bis der Loopback ruhig ist: Gegen einen Server, der zusätzliche Verbindungen verweigert, versucht IDM etwa 250 Mal pro Sekunde, was Tausende von geschlossenen Sockets für eine halbe Minute hinterlässt; ohne die Wartezeit wurde die nächste ausgeführte Anwendung auf diesem Rückstand gemessen.
- Statistik. Mediane mit Interquartilbereichen, Bootstrap-95%-Intervalle (10.000 Resamples) für jeden Median und für das Verhältnis der Mediane sowie ein zweiseitiger Mann-Whitney-U-Test.
- Grenzen. Eine Loopback-Verbindung hat keine echte Entfernung oder Paketverluste; die Fehler stehen dafür. Die Ergebnisse stammen von einer Maschine. Führen Sie es selbst aus:
python tools/bench/bench.py, dannpython tools/bench/report.py.
Überzeugen Sie sich selbst: Es ist kostenlos.
Mister Download Manager herunterladen