- Início
- Benchmark
IDM vs MDM, cronometrado ao milissegundo.
Ambas as aplicações no mesmo PC, a transferir do mesmo servidor de teste, em execuções alternadas. O registo do próprio servidor indica quando cada pedido chegou e quando o último byte saiu, para que nada dependa da palavra de nenhuma das aplicações.
A corrida
1,0×mais rápido
Reproduzido em tempo real a partir das medianas.
Mais rápido em todos os cenários.
Quantas vezes mais rápido o MDM terminou, do comando ao ficheiro finalizado. O "whisker" é o intervalo de 95% da proporção; a escala é logarítmica.
480 ligações contra 2.
Um servidor que permite duas ligações de cada vez. Cada quadrado é uma ligação que viu numa execução típica.
Aprende o limite da resposta do servidor, mantém-no e lembra-se dele para a próxima vez. Terminou em 12,6 s.
Tentou novamente cerca de 250 vezes por segundo contra as recusas. Concluído em 15,9 s.
Cada execução é um ponto.
Sete transferências, cada uma executada pelo menos sete vezes por ambas as aplicações. A barra representa a metade central das execuções, a linha a mediana.
O IDM demora cerca de três segundos a aceitar uma transferência a partir da sua linha de comandos antes de enviar qualquer coisa; as transferências capturadas pela sua extensão de navegador ignoram esse passo. É por isso que "Transferência" é a visão justa de motor para motor. "De ponta a ponta" também está aqui.
Onde o tempo é gasto
Mediana de arranque (do comando ao primeiro pedido), transferência e conclusão de cada aplicação, por cenário.
O que custa ao computador
Tempo médio de CPU que cada aplicação usou durante uma execução e o seu pico de memória. O MDM desenha a sua janela com a GPU, o que consome mais memória do que os controlos clássicos do Windows do IDM.
Todos os números
| Cenário | Aplicação | n | De ponta a ponta, mediana (IQR) | 95% CI da mediana | Transferência | Arranque | Conexões | Pedidos | CPU | Pico de memória | p |
|---|
O relatório
Medianas de ponta a ponta com intervalos interquartis, a razão com o seu intervalo de 95%, e o teste de Mann–Whitney, como tools/bench/report.py os escreve.
| cenário | IDM mediana ms (IQR) | MDM mediana ms (IQR) | IDM / MDM (95% CI) | p (Mann-Whitney) |
|---|---|---|---|---|
| 1 GiB através de uma ligação local rápida | 5456 (5393–5496) | 1009 (944–1028) | 5.41× (5.21–5.89) | 0.000583 |
| 100 MiB, 2 MB/s por ligação | 10234 (10221–10284) | 6319 (6317–6329) | 1.62× (1.61–1.63) | 0.000583 |
| 100 MiB, 150 ms de latência, 4 MB/s por ligação | 7622 (7497–7863) | 3844 (3842–3894) | 1.98× (1.92–2.05) | 0.000583 |
| 32 MiB, uma ligação em três rastreios a 128 KB/s | 7213 (6960–7256) | 3432 (3416–3840) | 2.10× (1.81–2.13) | 0.000583 |
| 50 MiB, o servidor permite 2 ligações, 2 MB/s cada | 15864 (15810–15933) | 12568 (12563–12570) | 1.26× (1.25–1.27) | 0.000583 |
| 50 MiB, cada 2.ª ligação cortada após 2 MiB, 4 MB/s | 5428 (5387–5466) | 1647 (1645–1660) | 3.30× (3.24–3.34) | 0.000583 |
| Ficheiro de 256 KiB através de uma ligação local rápida | 3141 (3130–3164) | 30 (28–31) | 105.90× (99.96–112.75) | 3.39e-06 |
13.ª Geração Intel(R) Core(TM) i5-13400F, 63.8 GB RAM, Windows-11-10.0.26200-SP0. labserver (este repositório), 127.0.0.1:8097, conteúdo gerado. Ambos com predefinições: 8 ligações.
Como foi medido
- Servidor. O servidor de laboratório deste repositório, em 127.0.0.1, a servir conteúdo gerado. Limita, atrasa, recusa ou corta ligações por cenário, e regista cada pedido com tempos de início e fim em milissegundos.
- Clientes. IDM e MDM, ambos com as definições predefinidas (8 ligações), cada um com a transferência através da mesma linha de comando documentada:
/d URL /p folder /f name /n. Ambos guardam na unidade que contém a pasta temporária do IDM, para que nenhum pague uma cópia entre unidades. - Temporização. De ponta a ponta: desde a emissão do comando até ao ficheiro concluído com o seu nome final, consultado a cada milissegundo num relógio monotónico. O MDM renomeia o seu ficheiro concluído para o local; o IDM cria o ficheiro final cedo e preenche-o, por isso, para o IDM, o momento em que atinge o tamanho total conta. Transferência: do primeiro pedido do servidor ao seu último byte, lido no mesmo relógio através de um pedido de calibração antes de cada execução.
- Equidade. As aplicações alternam, o IDM primeiro nas execuções pares e o MDM primeiro nas ímpares, para que o desvio na máquina afete ambos. Uma execução de aquecimento para cada um é descartada. As execuções falhadas são contadas, não descartadas. Antes de cada execução, o sistema espera até que o loopback esteja silencioso: contra um servidor que recusa ligações extras, o IDM tenta novamente cerca de 250 vezes por segundo, deixando milhares de sockets fechados por meio minuto; sem a espera, qualquer aplicação que corresse a seguir seria cronometrada nesse atraso.
- Estatísticas. Medianas com intervalos interquartis, intervalos de bootstrap de 95% (10.000 reamostragens) para cada mediana e para a razão das medianas, e um teste U de Mann–Whitney bilateral.
- Limites. Uma ligação de loopback não tem distância real ou perda de pacotes; as falhas representam-nas. Os resultados são de uma máquina. Execute-o você mesmo:
python tools/bench/bench.py, depoispython tools/bench/report.py.
Veja por si mesmo: é grátis.
Transferir Mister Download Manager