Если вы используете многозадачную операционную систему, тогда опрос будет сопровождаться штрафом за задержку (если пакет прибывает во время выполнения другой задачи).Следовательно, вы можете повысить пропускную способность, используя подход, основанный на прерываниях, в таких системах.Это связано с тем, что механизм прерываний может повысить приоритет пути данных над другими процессами, не блокируя их (так как опрос в задаче с более высоким приоритетом блокирует все задачи с более низким приоритетом).
Если вы работаете навстроенная система без железа, без ОС, вы должны быть в состоянии получить наилучшую пропускную способность, используя опрос, поскольку ЦП может тратить все свое время на проверку новых пакетов или выполнять обработку в результате полученных пакетов.Это минимизирует задержку и выделяет максимум циклов для обработки пакета.Вызов обработчика прерываний тратит впустую циклы и создает дополнительную сложность в этом случае;поскольку на процессоре больше ничего не выполняется, любой цикл, который вы выполняете, является циклом, не используемым для обращения к пути данных.
Обратите внимание, что это не означает, что общая производительность приложения лучше или что любойконкретная реализация быстрее с опросом.Это только означает, что максимально возможная пропускная способность достигается путем опроса.Например, если вашему приложению требуется много обработки, вы можете получить более высокую производительность, используя DMA с прерываниями.Чтобы узнать, быстрее ли опрос в каком-либо конкретном случае, сильно зависит от характеристик приложения этого случая.
Я не уверен, что такое «многоядерный» аспект этого вопроса, но может иметь смысл посвятитьОпрос ЦП на ввод / вывод для получения минимальной задержки во встроенной многоядерной системе, хотя это также будет сильно зависеть от приложения.
Как отмечает ninjalj, гибридные подходы могут использоваться для оптимизации общей производительности в более сложных сценариях.Вышесказанное справедливо только для простого случая.