Сколько стоит инструкция
У процессора нет «дорогих» и «дешёвых» строк: он считает их штуками, и штук за тик ровно @ipt
Гиперпроцессор, программа из трёх строк. Смотрите на итерацийЗаТик: около 8.3 — это
двадцать пять инструкций за тик, поделённые на три строки итерации.
Отсюда и вся арифметика скорости:
| Что | Формула |
|---|---|
| инструкций за тик | @ipt: 2, 8 или 25 |
| итераций за тик | @ipt ÷ длину программы |
| итераций за секунду | это же, умноженное на 60 |
Все инструкции стоят одинаково
Заголовок раздела «Все инструкции стоят одинаково»op add и radar enemy any any distance duo1 1 цель — одна инструкция каждая. Процессор
не считает, сколько работы за строкой; он считает строки.
Это не значит, что цена совсем одинакова: radar внутри обходит юнитов, и на большой карте
он обходится игре дороже, чем сложение. Но на скорость вашей программы это не влияет
никак — в тик всё равно пройдёт ровно @ipt строк.
Что не тратит инструкции
Заголовок раздела «Что не тратит инструкции»| Что | Стоит ли |
|---|---|
| комментарий в блочном редакторе | нет: это не инструкция |
| метка | нет: она не попадает в программу |
end в конце программы |
нет: конец и так обрабатывается |
пустая строка, noop |
одну инструкцию |
несработавший jump |
одну инструкцию |
Последнее важнее, чем кажется: проверки, которые почти всегда ложны, стоят столько же, сколько сработавшие. Программа из двадцати проверок «а не случилось ли» тратит на них двадцать инструкций каждую итерацию — и если одна из них дорога по смыслу, её лучше проверять раз в секунду по сроку, а не каждый раз.
Когда это начинает мешать
Заголовок раздела «Когда это начинает мешать»Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.