Как оптимизировать количество необходимых потоков
Я строю сканер портов UDP на C. Это схема кода
Create Socket
Structure raw UDP packet with port i
Send packet and wait n miliseconds for reply
Мне нужно выполнить эти задачи X раз, в зависимости от количества сканируемых портов. Это может быть до 65535 раз.
Моя цель - оптимизировать ресурсы с учетом машины i386, работающей под ядром Linux 3.5.0-17.
- Сколько потоков должно быть создано?
- Сколько пакетов должно быть отправлено внутри одного потока?
Спасибо за внимание.
1 ответ
- Одна нить, используя
select
,epoll
или похожие. - Все они. Не забудьте ограничить скорость, так как это не происходит автоматически с UDP.