ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
554222 Топик полностью
Скрипач, пророк (19.10.2014 18:18 - 18:53, просмотров: 115) ответил fk0123 на Ваши protothreads -- жуткий костыль. За него сжигать нужно. Во-первых дикая латентность помноженная на 146% cpu load только на проверке условий в циклах -- сколько-нибудь большой проект в этом вообще утонет, будет больше времени тратить на этот
Предлагаю порассуждать. Сравниваем вытесняющую ось и корпоративную. Берем ситуацию когда все задачи ждут событий, какие действия осуществляются по истечению кванта времени? Вытесняющая ось: 1) Сохранение контекста активной задачи. Бюджет: 25 инструкций. 2) Пересчитываются сигналы и прочие объекты синхронизации с целью изменить статус процессов из ожидания в готовность. Бюджет: 100 инструкций на сигнал. 3) Поиск в очереди наиболее приоритетного процесса, готового к исполнению. Бюджет: 25 инструкций на процесс. 4) Восстановление контекста процесса. Бюджет: 25 инструкций. Кооперативная ось: 1) Запуск следующего процесса. Бюджет: 5 инструкций. 2) Пересчет процессом своих условий ожидания. Бюджет: 25 инструкций. И чо?
... но не любой ценой.