Чому многопоточная завантаження повільна

1. Блокування малоймовірні, тому що загальних об'єктів як таких немає, завантаження кожного фрагмента йде всередині окремих об'єктів, запуск кожного потоку проходить через Parallel taskі, єдине використовується система eventов для передачі статусів, я поки тільки почав вивчати eventи не впевнений блокує чи виклик події потік?
2. Малоймовірно, тому що download master з яким я порівнював теж використовує багатопоточність (але всього 5 потоків).

з приводу архітектури в двох словах там напевно сказати не вийде, лістинг коду листів на 5.

Обдумав трохи ваш відповідь, можливо 1 все таки має сенс, на створення потоку потрібно час, коли потоки створюються часто (чого інші менеджери не роблять) може сумарно піти більше часу, поекспериментуйте з довжиною потоку, спасибі за пораду.

Не зовсім так, як зазначив Артем, це працює тільки з нормальними провайдерами, в моєму ж випадку провайдер жорстко режіт швидкість на кожному потоці до 32кбіт, і навіть якщо у тебе 100500 Мбіт тариф швидкість в DM буде максимум 32 * 8 кбіт, але якщо качати дрібними частинами (по 300кбайт скажімо) то провайдер цей факт пропускає (шейпер не спрацьовує) і швидкість не ріжеться, таким чином швидкість окремого потоку виростає до 300-400кбіт, якщо потоків багато швидкість зростає до максимуму, який витягує провайдер. Звідси і виходить 2-3 рази, цифри взяті тупо секундоміром, кілька вимірів на завантаження одного і того ж файлу.

Ваш відповідь на питання

Схожі статті