- Home
- Benchmark
IDM vs MDM, cronometrato al millisecondo.
Entrambe le app sullo stesso PC, scaricando dallo stesso server di test, in esecuzioni alternate. Il log del server stesso indica quando ogni richiesta è arrivata e quando l'ultimo byte è partito, quindi nulla si basa sulla parola di nessuna delle due app.
La gara
1.0×più veloce
Riproduzione in tempo reale dalle mediane.
Più veloce in ogni scenario.
Quante volte più velocemente MDM ha terminato, dal comando al file completato. Il baffo è l'intervallo del 95% del rapporto; la scala è logaritmica.
480 connessioni contro 2.
Un server che consente due connessioni alla volta. Ogni quadrato è una connessione che ha visto in un'esecuzione tipica.
Apprende il limite dalla risposta del server, lo rispetta e lo ricorda per la volta successiva. Completato in 12.6 s.
Ha riprovato circa 250 volte al secondo contro i rifiuti. Completato in 15.9 s.
Ogni esecuzione è un punto.
Sette download, ognuno eseguito almeno sette volte da entrambe le app. La barra rappresenta la metà centrale delle esecuzioni, la linea la mediana.
IDM impiega circa tre secondi per accettare un download dalla sua riga di comando prima di inviare qualsiasi cosa; i download catturati dalla sua estensione browser saltano questo passaggio. Ecco perché "Trasferimento" è la visualizzazione equa motore-motore. Anche "Fine a fine" è qui.
Dove va il tempo
Avvio mediano (dal comando alla prima richiesta), trasferimento e completamento di ogni app, per scenario.
Cosa costa al computer
Tempo CPU mediano utilizzato da ogni app durante un'esecuzione e la sua memoria di picco. MDM disegna la sua finestra con la GPU, il che richiede più memoria rispetto ai controlli classici di Windows di IDM.
Tutti i numeri
| Scenario | App | n | Fine a fine, mediana (IQR) | IC 95% della mediana | Trasferimento | Avvio | Connessioni | Richieste | CPU | Memoria di picco | p |
|---|
Il rapporto
Mediane end-to-end con intervalli interquartili, il rapporto con il suo intervallo di confidenza al 95% e il test di Mann–Whitney, come tools/bench/report.py li scrive.
| scenario | Mediana IDM ms (IQR) | Mediana MDM ms (IQR) | IDM / MDM (IC 95%) | p (Mann-Whitney) |
|---|---|---|---|---|
| 1 GiB su un collegamento locale veloce | 5456 (5393–5496) | 1009 (944–1028) | 5.41× (5.21–5.89) | 0.000583 |
| 100 MiB, 2 MB/s per connessione | 10234 (10221–10284) | 6319 (6317–6329) | 1.62× (1.61–1.63) | 0.000583 |
| 100 MiB, 150 ms di latenza, 4 MB/s per connessione | 7622 (7497–7863) | 3844 (3842–3894) | 1.98× (1.92–2.05) | 0.000583 |
| 32 MiB, una connessione in tre scansioni a 128 KB/s | 7213 (6960–7256) | 3432 (3416–3840) | 2.10× (1.81–2.13) | 0.000583 |
| 50 MiB, il server consente 2 connessioni, 2 MB/s ciascuna | 15864 (15810–15933) | 12568 (12563–12570) | 1.26× (1.25–1.27) | 0.000583 |
| 50 MiB, ogni seconda connessione interrotta dopo 2 MiB, 4 MB/s | 5428 (5387–5466) | 1647 (1645–1660) | 3.30× (3.24–3.34) | 0.000583 |
| File da 256 KiB su un collegamento locale veloce | 3141 (3130–3164) | 30 (28–31) | 105.90× (99.96–112.75) | 3.39e-06 |
Intel(R) Core(TM) i5-13400F di 13a generazione, 63.8 GB RAM, Windows-11-10.0.26200-SP0. labserver (questo repository), 127.0.0.1:8097, contenuto generato. Entrambi con impostazioni predefinite: 8 connessioni.
Come è stato misurato
- Server. Il server di laboratorio di questo repository, su 127.0.0.1, che serve contenuti generati. Limita, ritarda, rifiuta o interrompe le connessioni per scenario e registra ogni richiesta con orari di inizio e fine in millisecondi.
- Client. IDM e MDM, entrambi con impostazioni predefinite (8 connessioni), a ciascuno è stato assegnato il download tramite la stessa riga di comando documentata:
/d URL /p folder /f name /n. Entrambi salvano sull'unità che contiene la cartella temporanea di IDM, quindi nessuno dei due paga una copia tra unità diverse. - Tempistica. Da inizio a fine: dall'emissione del comando al file completato con il suo nome finale, interrogato ogni millisecondo su un orologio monotonico. MDM rinomina il suo file completato; IDM crea il file finale in anticipo e lo riempie, quindi per IDM conta il momento in cui raggiunge la dimensione completa. Trasferimento: dalla prima richiesta del server all'ultimo byte, letto sullo stesso orologio tramite una richiesta di calibrazione prima di ogni esecuzione.
- Equità. Le app si alternano, IDM per primo nelle esecuzioni pari e MDM per primo in quelle dispari, in modo che la deriva sulla macchina colpisca entrambi. Una esecuzione di riscaldamento per ciascuno viene scartata. Le esecuzioni fallite vengono contate, non eliminate. Prima di ogni esecuzione il sistema attende che il loopback sia silenzioso: contro un server che rifiuta connessioni extra, IDM riprova circa 250 volte al secondo, lasciando migliaia di socket chiusi per mezzo minuto; senza l'attesa, l'app successiva sarebbe stata cronometrata su quel backlog.
- Statistiche. Mediane con intervalli interquartili, intervalli bootstrap al 95% (10.000 ricampionamenti) per ogni mediana e per il rapporto delle mediane, e un test U di Mann–Whitney a due code.
- Limiti. Un collegamento loopback non ha distanza reale o perdita di pacchetti; i difetti li sostituiscono. I risultati provengono da una sola macchina. Eseguilo tu stesso:
python tools/bench/bench.py, poipython tools/bench/report.py.
Guardalo tu stesso: è gratuito.
Scarica Mister Download Manager