от циклов, чтобы не загружать проц, типа вроде c# в этом лучше c++ например, и что то у меня это не выходит из головы, как можно от циклов отказаться, я что то не понимаю как это на уровне асма реализовано, может в современных процах есть какие то спецкомманды для этого? У меня на ум приходит только ввод проца в standby, и выход из него по клавише, но все-равно же какой то цикл должен крутиться где то в процессоре который ловит прерывание с клавиатуры или как, может какие то новые комманды появились в процессорах для реализации такого энергосберегающего поведения в программах?
Скорее всего имеется в виду то, что вместо: 10 for i=1 to 10 20 print(i*i) 30 next рекомендуют писать print('\n'.join(str((i+1)**2) for i in range(10))) с точки зрения низкоуровневого программирования это одно и тоже, но компиляторам проще оптимизировать циклы, спрятанные внутри специальных конструкций.
В некоторых больших учётных системах вообще отказались от процедур и функций, в пользу упрощения кода. Внутри циклы и процедуры есть, а программисту они не нужны
Сначала они пришли за "goto", потом они пришли за циклами...
Они не против придти и за программистами, но не знают как.
от них не то чтобы избавляются, но бывают случаи когда количество итераций заранее известно и оценка показывает, что если его выкинуть, или развернуть в линейный код, оно на процессоре выполнится быстрее
+1. «Разворачивание цикла» - популярный метод оптимизации на «скорость».
ещё оно может сочетаться с векторизацией
да больше на какое то словоблудие похоже честно говоря судя по тому, что ребята говорят, рекламный ход чтобы люди переходили на новые языки и компиляторы, потому, что обьективно новые компиляторы например, что бы там не делали и не поддерживали нового, написаны более громоздко и криво и програмиы из под них вылетают такие же тяжелые и тормозные. Вот браузеры как пример, был гугл хром 40 версии ютуб не тормозил, обновился случайно на 90 и ноут замер
Обсуждают сегодня