LINUX.ORG.RU

Насколько быстр вызов sigaction?


0

0

Хочется в критичных по скорости участках кода переставлять туда-обратно обработчики сигналов. Спрашивается, быстро ли это делается? Если sigaction работает медленно, то что насчет функции signal()?

Большое спасибо всем ответившим.

anonymous

signal - эмулятор sigaction sigaction - системный вызов. Быстрее, чем сискал ничего сделать нельзя. А вообще поэкспериментируйте.

anonymous
()

Сам код sigaction вполне маленький и быстрый. Медленное только переключение в ядро. Если хотите оценить время на IA32, то можно взять макрос rdtsc из asm/msr.h, вызвать его перед выполнением sigaction и после выполнения sigaction. Разница и есть число тактов на выполнение :) Для чистоты эксперимента стоит проделать пару раз, т.к. за время выполнения sigaction может произойти прерывание или вообще переключение на другую нить.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.