Entropy & CodeResistor
Привет, ты когда-нибудь пыталась запихнуть самоотсылающийся алгоритм в микроконтроллер на 16 бит и обнаружила, что он крутится быстрее, чем ты ожидала? Забавная штука получается – оптимизируешь, а получаешь новые проблемы.
Да, я через это прошла, сидела над одной и той же петлей, пока время не начало бежать как сумасшедшее. Дело в том, чтобы держать автомат состояний максимально компактным, но как только код начинает ссылаться сам на себя, начинается бесконечная рекурсия указателей, которую даже 16-битный процессор не потянет. Типичный случай "оптимизируешь до упора". Если нужна скорость, убери самоссылки и пусть железо занимается циклами, или переложи тяжелую работу на сопроцессор. Парадокс в том, что тратишь больше циклов на отладку, чем на полезную работу. Так что упрощай логику и дай 16-битной шине делать то, для чего она и создана.