История изменений
Исправление alysnix, (текущая версия) :
Вот, вот оно. Вы отдаёте себе отчёт насколько это долго??
это недолго. это десяток ассемблерных команд для кернела жесткого рилтайма. если постараться, то 3-5. там всего лишь спасаются регистры текущего треда, и восстанавливаются регистры старого.
для процов где поддерживается пуш/поп сразу многих регистров одной командой, это две команды. и это будет работать на порядок! быстрее чем ваш поллинг.
полинг будет быстрей только если тред ваш не вытесняется физически с ядра. но если его вытеснят - то вернут ему ядро через МНОГО большее время, чем исполнение десятка команд на асме.
Исходная версия alysnix, :
Вот, вот оно. Вы отдаёте себе отчёт насколько это долго??
это недолго. это десяток ассемблерных команд для кернела жесткого рилтайма. если постараться, то 3-5. там всего лишь спасаются регистры текущего треда, и восстанавливаются регистры старого.
для процов где поддерживается пуш/поп сразу многих регистров одной командой, это две команды. и это будет работать на порядок! быстрее чем ваш поллинг.
полинг будет быстрей только если тред ваш не вытесняется физически с ядра. но если его вытеснят - то вернут ему ядро через МНОГО большее время, чем исполнение десятка команд на асме.