Да, вы лучше сказали чем я, ну или дополнили. Совершенно, по опыту, согласен, что в большинстве случаев не нужно вникать в весь код, а нужно понимать что он либо его отдельные куски делают. Иначе это трата времени: да, я понял что здесь происходит, однако оно мне не нужно. И так постоянно когда ты проходишься по этому фрагменту в 50 строк
Если код раздробить на кусочки с умом, то в большинстве случаев он будет понятен. Вы хотите сказать, что из 50 строк кода вы не сможете в слух сказать "в строках 1-5 делаем то-то, в 6-12 мы проверяем то-то и т.д"? В сложном алгоритме такое может случиться, однако сложные алгоритмы это обычно редкость. Назовите метод или функцию нормальным именем и все будет разбиваться и читаться прекрасно.
Конечно, как уже сказали выше it depends - есть случаи, когда кусок кода лучше не разбивать. Очень редко мне приходится так делать. Но чаще всего 50 строк кода это уже цепочка функционала, которую можно разбить для удобства и/или переиспользования фрагмента
Блин, какие длинные статьи сейчас пишутся... Насколько я понял, автор так и не узнал почему так происходит и выдал догадки? Ну так и я, ничего не зная о современных технологиях процов, предположу: допустим jb в связке с cmp не ориентируется на флаги (!), а видит, что rax далеко меньше rcx и точно знает что можно инкрементировать ещё много раз. Да, это слишком частный случай чтоб проц такое мог, но может Интел как-то хитро обобщили такую идею...
Спидраны это не просто задротство управления персонажем. Это довольно большая аналитическая работа. Например, я фанат, спидранов халвы и халвы 2. Там такие чумовые вещи придумывают, в голову не укладывается как додумались до такого. Приведу пример. При выходе из транспорта работает скрипт, которые на время включает прохождение через стены. Это разрабы упростили себе жизнь - просто по сути запрограммировали анимацию выхода из катера. Но спидранеры додумались до такого: они нашли место на карте, где поставили катер, нажали клавишу выхода из него, в итоге сработала анимация выхода, в результате которой игрок с фрагментом катера задел соседнюю локацию. Игра "увидела", что в этой локации запрещено нахождение катера и удалило его. Анимация прервалась, в результате режим прохождения сквозь стены не отключился. Легальный волхак. Ну как до такого додуматься? И таких приколов море. Спидранерство это громадная работа
Эх. Скупо вы рассказали. Там много интересных моментов. Например, что в прошлом году рекорд был уже побит. Но интересным образом. Квейк 1 спидранят на лёгкой сложности. И вот спустя двадцать+ лет один чел додумался пройти на сложной и за счёт того, что ему в спину стрельнул бот - это придало ему скорости и в итоге доли секунды хватило чтобы пробить 6-секундный рекорд.
В этом году был поставлен рекорд именно на лёгкой сложности игры, на которой по тебе никто не стреляет в этом моменте. Поэтому игрок проанализировал фактически покадрово прохождение и обнаружил, что в одном месте нужно было удариться об стену чуть ниже. Короче уровень пройден на идеально задротском уровне, где игрок идеально играл фактически идеально попадая в каждый кадр игры
Переход на умножение это никакая не оптимизация - какая следующая фича будет запрошена? Правильно, проверять есть ли на пути другая фигура. В итоге "оптимизация" будет просто выкинутым временем
https://en.m.wikipedia.org/wiki/Interleaving_(disk_storage)
Ниже ответили, что на элт было действительно круче
Тут речь про условно "сдвиг вправо придуман для людей, да. Но он придуман для сдвига в право, а не для деления на два"
Т.е "ты самый крутой в мире.." это была не ирония??
Можно пример или ссылочку на описание проблемы? Чтобы не тревожить гугл..
Я так понял тут 486 нужен только для xadd, а без него можно было бы и на 8086 запустить?
Да, вы лучше сказали чем я, ну или дополнили. Совершенно, по опыту, согласен, что в большинстве случаев не нужно вникать в весь код, а нужно понимать что он либо его отдельные куски делают. Иначе это трата времени: да, я понял что здесь происходит, однако оно мне не нужно. И так постоянно когда ты проходишься по этому фрагменту в 50 строк
Если код раздробить на кусочки с умом, то в большинстве случаев он будет понятен. Вы хотите сказать, что из 50 строк кода вы не сможете в слух сказать "в строках 1-5 делаем то-то, в 6-12 мы проверяем то-то и т.д"? В сложном алгоритме такое может случиться, однако сложные алгоритмы это обычно редкость. Назовите метод или функцию нормальным именем и все будет разбиваться и читаться прекрасно.
Конечно, как уже сказали выше it depends - есть случаи, когда кусок кода лучше не разбивать. Очень редко мне приходится так делать. Но чаще всего 50 строк кода это уже цепочка функционала, которую можно разбить для удобства и/или переиспользования фрагмента
Опять сравнение по количеству кода идёт, фейспалм. Не по качеству, не по багам, не по фичам, не по рефакторингу
Не все он сделал. Журавлика не запустил еще
Слишком частный случай. А если между ними будут ещё операции?
Блин, какие длинные статьи сейчас пишутся... Насколько я понял, автор так и не узнал почему так происходит и выдал догадки? Ну так и я, ничего не зная о современных технологиях процов, предположу: допустим jb в связке с cmp не ориентируется на флаги (!), а видит, что rax далеко меньше rcx и точно знает что можно инкрементировать ещё много раз. Да, это слишком частный случай чтоб проц такое мог, но может Интел как-то хитро обобщили такую идею...
Глаз не наметан на регулярки;)
Вряд-ли реверс. Думаю просто тысячи попыток в пытливый ум
Спидраны это не просто задротство управления персонажем. Это довольно большая аналитическая работа. Например, я фанат, спидранов халвы и халвы 2. Там такие чумовые вещи придумывают, в голову не укладывается как додумались до такого. Приведу пример. При выходе из транспорта работает скрипт, которые на время включает прохождение через стены. Это разрабы упростили себе жизнь - просто по сути запрограммировали анимацию выхода из катера. Но спидранеры додумались до такого: они нашли место на карте, где поставили катер, нажали клавишу выхода из него, в итоге сработала анимация выхода, в результате которой игрок с фрагментом катера задел соседнюю локацию. Игра "увидела", что в этой локации запрещено нахождение катера и удалило его. Анимация прервалась, в результате режим прохождения сквозь стены не отключился. Легальный волхак. Ну как до такого додуматься? И таких приколов море. Спидранерство это громадная работа
Эх. Скупо вы рассказали. Там много интересных моментов. Например, что в прошлом году рекорд был уже побит. Но интересным образом. Квейк 1 спидранят на лёгкой сложности. И вот спустя двадцать+ лет один чел додумался пройти на сложной и за счёт того, что ему в спину стрельнул бот - это придало ему скорости и в итоге доли секунды хватило чтобы пробить 6-секундный рекорд.
В этом году был поставлен рекорд именно на лёгкой сложности игры, на которой по тебе никто не стреляет в этом моменте. Поэтому игрок проанализировал фактически покадрово прохождение и обнаружил, что в одном месте нужно было удариться об стену чуть ниже. Короче уровень пройден на идеально задротском уровне, где игрок идеально играл фактически идеально попадая в каждый кадр игры
Это фишка ассемблерных циклов. Так (прыжок в середину цикла) даже компилятор компилит
Это лучше проверять вне зависимости от фигуры чем для каждой фигуры дублировать код
Переход на умножение это никакая не оптимизация - какая следующая фича будет запрошена? Правильно, проверять есть ли на пути другая фигура. В итоге "оптимизация" будет просто выкинутым временем
Странно, что вас заминусовали. Возможно не поняли, что вы поддержали сообщение, на которое отвечаете