- Главная
- Сравнение
IDM vs GDM, timed to the millisecond.
Оба приложения на одном ПК, загрузка с одного тестового сервера, в чередующихся запусках. Журнал сервера показывает, когда каждый запрос поступил и когда последний байт был отправлен, поэтому ничто не зависит от показаний ни одного из приложений.
Гонка
в 1.0 разабыстрее
Воспроизведено в реальном времени по медианным значениям.
Быстрее в любом сценарии.
How many times faster GDM finished, from command to finished file. The whisker is the 95% interval of the ratio; the scale is logarithmic.
480 соединений против 2.
Сервер, который позволяет два соединения одновременно. Каждый квадрат — это одно соединение, которое он видел в типичном запуске.
Узнает лимит из ответа сервера, придерживается его и запоминает для следующего раза. Завершено за 12.6 с.
Повторял попытки около 250 раз в секунду, несмотря на отказы. Завершено за 15.9 с.
Каждый запуск — это точка.
Семь загрузок, каждая запущена как минимум семь раз обоими приложениями. Столбец — это средняя половина запусков, линия — медиана.
IDM требуется около трех секунд, чтобы принять загрузку из командной строки, прежде чем он что-либо отправит; загрузки, перехваченные расширением браузера, пропускают этот шаг. Вот почему «Передача» — это честный взгляд на работу движка. «От начала до конца» также здесь.
Куда уходит время
Медиана запуска (от команды до первого запроса), передачи и завершения для каждого приложения, по сценарию.
Что это стоит компьютеру
Median CPU time each app used during a run, and its peak memory. GDM draws its window with the GPU, which takes more memory than IDM's classic Windows controls.
Все числа
| Сценарий | Приложение | n | От начала до конца, медиана (IQR) | 95% ДИ медианы | Передача | Запуск | Соединения | Запросы | ЦП | Пиковая память | p |
|---|
Отчет
Медианы от начала до конца с межквартильными диапазонами, отношение с 95% интервалом и критерий Манна–Уитни, как их пишет tools/bench/report.py.
| сценарий | Медиана IDM, мс (IQR) | GDM median ms (IQR) | IDM / GDM (95% CI) | p (Манн-Уитни) |
|---|---|---|---|---|
| 1 ГиБ по быстрому локальному каналу | 5456 (5393–5496) | 1009 (944–1028) | 5.41× (5.21–5.89) | 0.000583 |
| 100 МиБ, 2 МБ/с на соединение | 10234 (10221–10284) | 6319 (6317–6329) | 1.62× (1.61–1.63) | 0.000583 |
| 100 МиБ, задержка 150 мс, 4 МБ/с на соединение | 7622 (7497–7863) | 3844 (3842–3894) | 1.98× (1.92–2.05) | 0.000583 |
| 32 МиБ, одно соединение в трёх обходах по 128 КБ/с | 7213 (6960–7256) | 3432 (3416–3840) | 2.10× (1.81–2.13) | 0.000583 |
| 50 МиБ, сервер разрешает 2 соединения, по 2 МБ/с каждое | 15864 (15810–15933) | 12568 (12563–12570) | 1.26× (1.25–1.27) | 0.000583 |
| 50 МиБ, каждое второе соединение обрывается после 2 МиБ, 4 МБ/с | 5428 (5387–5466) | 1647 (1645–1660) | 3.30× (3.24–3.34) | 0.000583 |
| Файл 256 КиБ по быстрому локальному каналу | 3141 (3130–3164) | 30 (28–31) | 105.90× (99.96–112.75) | 3.39e-06 |
13th Gen Intel(R) Core(TM) i5-13400F, 63.8 GB RAM, Windows-11-10.0.26200-SP0. labserver (этот репозиторий), 127.0.0.1:8097, сгенерированный контент. Оба по умолчанию: 8 соединений.
Как проводились измерения
- Сервер. Лабораторный сервер из этого репозитория, на 127.0.0.1, предоставляющий сгенерированный контент. Он регулирует, задерживает, отклоняет или обрывает соединения в соответствии со сценарием и регистрирует каждый запрос с миллисекундным временем начала и окончания.
- Clients. IDM and GDM, both at default settings (8 connections), each given the download through the same documented command line:
/d URL /p folder /f name /n. Both save to the drive that holds IDM's temporary folder, so neither pays a cross-drive copy. - Timing. End to end: from issuing the command to the finished file under its final name, polled every millisecond on a monotonic clock. GDM renames its finished file into place; IDM creates the final file early and fills it, so for IDM the moment it reaches full size counts. Transfer: the server's first request to its last byte, read on the same clock through a calibration request before each run.
- Fairness. The apps alternate, IDM first on even runs and GDM first on odd ones, so drift on the machine hits both. One warm-up run each is discarded. Failed runs are counted, not dropped. Before every run the harness waits until the loopback is quiet: against a server that refuses extra connections IDM retries about 250 times a second, leaving thousands of closed sockets for half a minute; without the wait, whichever app ran next was timed on that backlog.
- Статистика. Медианы с межквартильными диапазонами, 95% доверительные интервалы бутстрапа (10 000 повторных выборок) для каждой медианы и для отношения медиан, а также двусторонний U-тест Манна-Уитни.
- Ограничения. Петлевое соединение не имеет реального расстояния или потери пакетов; ошибки заменяют их. Результаты получены на одной машине. Запустите это сами:
python tools/bench/bench.py, затемpython tools/bench/report.py.
Убедитесь сами: это бесплатно.
Download GolinksPRO Download Manager