- Accueil
- Benchmark
IDM contre MDM, chronométré à la milliseconde.
Les deux applications sur le même PC, téléchargeant depuis le même serveur de test, en alternance. Le journal du serveur indique l'heure d'arrivée de chaque requête et le départ du dernier octet, donc rien ne dépend de l'une ou l'autre application.
La course
1,0×plus rapide
Lecture en temps réel à partir des médianes.
Plus rapide dans tous les scénarios.
Combien de fois plus vite MDM a terminé, de la commande au fichier finalisé. La barre représente l'intervalle de 95 % du ratio ; l'échelle est logarithmique.
480 connexions contre 2.
Un serveur qui autorise deux connexions à la fois. Chaque carré représente une connexion qu'il a vue lors d'une exécution typique.
Apprend la limite de la réponse du serveur, s'y tient et s'en souvient pour la prochaine fois. Terminé en 12,6 s.
A réessayé environ 250 fois par seconde face aux refus. Terminé en 15,9 s.
Chaque exécution est un point.
Sept téléchargements, chacun exécuté au moins sept fois par les deux applications. La barre représente la moitié centrale des exécutions, la ligne la médiane.
IDM prend environ trois secondes pour accepter un téléchargement depuis sa ligne de commande avant d'envoyer quoi que ce soit ; les téléchargements interceptés par son extension de navigateur ignorent cette étape. C'est pourquoi « Transfert » est la vue équitable de moteur à moteur. « De bout en bout » est également ici.
Où passe le temps
Démarrage médian (de la commande à la première requête), transfert et fin de chaque application, par scénario.
Ce que cela coûte à l'ordinateur
Temps CPU médian utilisé par chaque application pendant une exécution, et sa mémoire maximale. MDM dessine sa fenêtre avec le GPU, ce qui prend plus de mémoire que les contrôles Windows classiques d'IDM.
Tous les chiffres
| Scénario | App | n | De bout en bout, médiane (IQR) | IC à 95 % de la médiane | Transfert | Démarrage | Connexions | Requêtes | CPU | Mémoire max. | p |
|---|
Le rapport
Médianes de bout en bout avec les écarts interquartiles, le rapport avec son intervalle de 95 %, et le test de Mann-Whitney, tels que tools/bench/report.py les écrit.
| scénario | IDM médiane ms (IQR) | MDM médiane ms (IQR) | IDM / MDM (IC à 95 %) | p (Mann-Whitney) |
|---|---|---|---|---|
| 1 GiB sur une liaison locale rapide | 5456 (5393–5496) | 1009 (944–1028) | 5.41× (5.21–5.89) | 0.000583 |
| 100 MiB, 2 Mo/s par connexion | 10234 (10221–10284) | 6319 (6317–6329) | 1.62× (1.61–1.63) | 0.000583 |
| 100 Mio, 150 ms de latence, 4 Mo/s par connexion | 7622 (7497–7863) | 3844 (3842–3894) | 1.98× (1.92–2.05) | 0.000583 |
| 32 Mio, une connexion en trois tentatives à 128 Ko/s | 7213 (6960–7256) | 3432 (3416–3840) | 2.10× (1.81–2.13) | 0.000583 |
| 50 Mio, le serveur autorise 2 connexions, 2 Mo/s chacune | 15864 (15810–15933) | 12568 (12563–12570) | 1.26× (1.25–1.27) | 0.000583 |
| 50 Mio, une connexion sur deux coupée après 2 Mio, 4 Mo/s | 5428 (5387–5466) | 1647 (1645–1660) | 3.30× (3.24–3.34) | 0.000583 |
| Fichier de 256 Kio sur une liaison locale rapide | 3141 (3130–3164) | 30 (28–31) | 105.90× (99.96–112.75) | 3.39e-06 |
Intel(R) Core(TM) i5-13400F de 13e génération, 63,8 Go de RAM, Windows-11-10.0.26200-SP0. labserver (ce dépôt), 127.0.0.1:8097, contenu généré. Les deux par défaut : 8 connexions.
Comment les mesures ont été effectuées
- Serveur. Le serveur de laboratoire de ce dépôt, sur 127.0.0.1, servant du contenu généré. Il régule, retarde, refuse ou coupe les connexions selon le scénario, et enregistre chaque requête avec les heures de début et de fin à la milliseconde près.
- Clients. IDM et MDM, tous deux avec les paramètres par défaut (8 connexions), chacun recevant le téléchargement via la même ligne de commande documentée :
/d URL /p folder /f name /n. Les deux enregistrent sur le lecteur qui contient le dossier temporaire d'IDM, donc aucun ne paie une copie inter-lecteur. - Chronométrage. De bout en bout : de l'émission de la commande au fichier terminé sous son nom final, interrogé chaque milliseconde sur une horloge monotone. MDM renomme son fichier terminé en place ; IDM crée le fichier final tôt et le remplit, donc pour IDM, le moment où il atteint sa taille maximale compte. Transfert : de la première requête du serveur au dernier octet, lu sur la même horloge via une requête de calibration avant chaque exécution.
- Équité. Les applications alternent, IDM en premier sur les exécutions paires et MDM en premier sur les impaires, de sorte que la dérive de la machine affecte les deux. Une exécution d'échauffement pour chaque est écartée. Les exécutions échouées sont comptées, non ignorées. Avant chaque exécution, le harnais attend que la boucle de retour soit silencieuse : contre un serveur qui refuse des connexions supplémentaires, IDM réessaie environ 250 fois par seconde, laissant des milliers de sockets fermés pendant une demi-minute ; sans l'attente, l'application suivante était chronométrée sur ce retard.
- Statistiques. Médianes avec intervalles interquartiles, intervalles de confiance à 95 % par bootstrap (10 000 rééchantillonnages) pour chaque médiane et pour le rapport des médianes, et un test U de Mann-Whitney bilatéral.
- Limites. Une liaison en boucle locale n'a pas de distance réelle ni de perte de paquets ; les défauts les remplacent. Les résultats proviennent d'une seule machine. Exécutez-le vous-même :
python tools/bench/bench.py, puispython tools/bench/report.py.
Voyez par vous-même : c'est gratuit.
Télécharger Mister Download Manager