952879e7fa
Записаны, чтобы не повторять, и с разбором причины. 1. cd_sig_same блоком (сравнение 10 байт циклом вместо 13 сравнений полей): по листингу короче (1939 -> 1290), на машине хуже 438 978 -> 450 426. Сумма тактов по листингу считает инструкцию один раз, а тело цикла исполняется десять раз. 2. cd_touch_pb (пометка «для блита» из file-scope вместо четырёх аргументов): 438 978 -> 442 242. В зелёной фазе блиты идут пакетным путём, где нужны все четыре значения, а в регистрах они дешевле, чем чтение из статиков. 3. Обёртка pop_cd_hit_slot поверх pop_cd_hit — 1799 против 1318 тактов; помогло только когда сравнение переехало внутрь. Общий урок записан там же: короткий листинг не равно быстрый код, и снятие аргументов со стека помогает не всегда. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>