- Strona główna
- Benchmark
IDM kontra MDM, z dokładnością do milisekundy.
Obie aplikacje na tym samym komputerze, pobierające dane z tego samego serwera testowego, w naprzemiennych uruchomieniach. Dziennik serwera wskazuje, kiedy każde żądanie dotarło i kiedy ostatni bajt został wysłany, więc nic nie zależy od deklaracji żadnej z aplikacji.
Wyścig
1.0×szybciej
Odtwarzane w czasie rzeczywistym na podstawie median.
Szybciej w każdym scenariuszu.
Ile razy szybciej MDM zakończył działanie, od polecenia do gotowego pliku. Wąs to 95% przedział współczynnika; skala jest logarytmiczna.
480 połączeń kontra 2.
Serwer, który pozwala na dwa połączenia jednocześnie. Każdy kwadrat to jedno połączenie, które widział w typowym uruchomieniu.
Uczy się limitu z odpowiedzi serwera, przestrzega go i zapamiętuje na następny raz. Zakończono w 12.6 s.
Ponawiał próby około 250 razy na sekundę wbrew odmowom. Zakończono w 15.9 s.
Każde uruchomienie to kropka.
Siedem pobrań, każde uruchomione co najmniej siedem razy przez obie aplikacje. Słupek to środkowa połowa uruchomień, linia to mediana.
IDM potrzebuje około trzech sekund na przyjęcie pobierania z wiersza poleceń, zanim cokolwiek wyśle; pobrania przechwycone przez jego rozszerzenie przeglądarki pomijają ten krok. Dlatego „Transfer” to uczciwy widok porównujący silniki. „Od początku do końca” jest również tutaj.
Na co idzie czas
Mediana uruchomienia (od polecenia do pierwszego żądania), transferu i zakończenia każdej aplikacji, dla każdego scenariusza.
Ile to kosztuje komputer
Mediana czasu procesora użytego przez każdą aplikację podczas uruchomienia oraz szczytowe zużycie pamięci. MDM rysuje swoje okno za pomocą GPU, co zużywa więcej pamięci niż klasyczne kontrolki Windows w IDM.
Wszystkie liczby
| Scenariusz | Aplikacja | n | Od początku do końca, mediana (IQR) | 95% CI mediany | Transfer | Uruchomienie | Połączenia | Żądania | CPU | Szczytowa pamięć | p |
|---|
Raport
Mediany od początku do końca z zakresami międzykwartylowymi, stosunek z 95% przedziałem ufności oraz test Manna-Whitneya, tak jak pisze je tools/bench/report.py.
| scenariusz | IDM mediana ms (IQR) | MDM mediana ms (IQR) | IDM / MDM (95% CI) | p (Manna-Whitneya) |
|---|---|---|---|---|
| 1 GiB przez szybkie łącze lokalne | 5456 (5393–5496) | 1009 (944–1028) | 5.41× (5.21–5.89) | 0.000583 |
| 100 MiB, 2 MB/s na połączenie | 10234 (10221–10284) | 6319 (6317–6329) | 1.62× (1.61–1.63) | 0.000583 |
| 100 MiB, 150 ms opóźnienia, 4 MB/s na połączenie | 7622 (7497–7863) | 3844 (3842–3894) | 1.98× (1.92–2.05) | 0.000583 |
| 32 MiB, jedno połączenie w trzech przejściach przy 128 KB/s | 7213 (6960–7256) | 3432 (3416–3840) | 2.10× (1.81–2.13) | 0.000583 |
| 50 MiB, serwer zezwala na 2 połączenia, po 2 MB/s każde | 15864 (15810–15933) | 12568 (12563–12570) | 1.26× (1.25–1.27) | 0.000583 |
| 50 MiB, co drugie połączenie przerwane po 2 MiB, 4 MB/s | 5428 (5387–5466) | 1647 (1645–1660) | 3.30× (3.24–3.34) | 0.000583 |
| Plik 256 KiB przez szybkie łącze lokalne | 3141 (3130–3164) | 30 (28–31) | 105.90× (99.96–112.75) | 3.39e-06 |
13. generacja Intel(R) Core(TM) i5-13400F, 63.8 GB RAM, Windows-11-10.0.26200-SP0. labserver (to repozytorium), 127.0.0.1:8097, generowana zawartość. oba domyślne: 8 połączeń.
Jak mierzono
- Serwer. Serwer laboratoryjny z tego repozytorium, na 127.0.0.1, udostępniający generowaną zawartość. Dławienie, opóźnianie, odrzucanie lub przerywanie połączeń zgodnie ze scenariuszem, oraz logowanie każdego żądania z milisekundowymi czasami rozpoczęcia i zakończenia.
- Klienci. IDM i MDM, oba z domyślnymi ustawieniami (8 połączeń), każdy otrzymuje pobieranie przez tę samą udokumentowaną linię poleceń:
/d URL /p folder /f name /n. Oba zapisują na dysku, na którym znajduje się folder tymczasowy IDM, więc żaden nie ponosi kosztów kopiowania między dyskami. - Pomiar czasu. Od początku do końca: od wydania polecenia do gotowego pliku pod jego ostateczną nazwą, sprawdzane co milisekundę na zegarze monotonicznym. MDM zmienia nazwę gotowego pliku na właściwe miejsce; IDM tworzy plik końcowy wcześniej i wypełnia go, więc dla IDM liczy się moment osiągnięcia pełnego rozmiaru. Transfer: od pierwszego żądania serwera do ostatniego bajtu, odczytywane na tym samym zegarze poprzez żądanie kalibracji przed każdym uruchomieniem.
- Uczciwość. Aplikacje działają naprzemiennie, IDM pierwszy w parzystych uruchomieniach, a MDM pierwszy w nieparzystych, więc dryf na maszynie dotyka obu. Jedno uruchomienie rozgrzewkowe dla każdej jest odrzucane. Nieudane uruchomienia są liczone, nie pomijane. Przed każdym uruchomieniem uprząż czeka, aż pętla zwrotna będzie cicha: w przypadku serwera, który odmawia dodatkowych połączeń, IDM ponawia próbę około 250 razy na sekundę, pozostawiając tysiące zamkniętych gniazd na pół minuty; bez czekania, którakolwiek aplikacja uruchomiła się następna, była mierzona na tym zaległym obciążeniu.
- Statystyki. Mediany z zakresami międzykwartylowymi, 95% przedziały ufności bootstrap (10 000 ponownych próbek) dla każdej mediany i dla stosunku median, oraz dwustronny test U Manna–Whitneya.
- Ograniczenia. Łącze zwrotne nie ma rzeczywistej odległości ani utraty pakietów; błędy zastępują je. Wyniki pochodzą z jednej maszyny. Uruchom to sam:
python tools/bench/bench.py, a następniepython tools/bench/report.py.
Przekonaj się sam: to nic nie kosztuje.
Pobierz Mister Download Manager