Что такое “жесткий цикл”?

Я услышал ту фразу много.Что это значит?

Пример помог бы.

65
задан skaffman 30 December 2010 в 14:32
поделиться

4 ответа

Из Викисловаря:

  1. (вычисления) В языках ассемблера - цикл, содержащий мало инструкций и многократно повторяющий итерации.
  2. (вычисления) Такой цикл, в котором интенсивно используются ресурсы ввода/вывода или обработки, неспособный адекватно разделить их с другими программами, запущенными в операционной системе.

Для случая 1 это, вероятно, как

for (unsigned int i = 0; i < 0xffffffff; ++ i) {}
46
ответ дан 24 November 2019 в 15:29
поделиться

Я думаю, что эта фраза обычно используется для обозначения цикла, который повторяется много раз и который может иметь серьезное влияние на производительность программы - то есть она может использовать много циклов процессора. Обычно эту фразу можно услышать при обсуждении оптимизации.

Например, я думаю об играх, где циклу может потребоваться обработка каждого пикселя на экране, или научному приложению, где цикл обрабатывает записи в гигантских массивах точек данных.

27
ответ дан 24 November 2019 в 15:29
поделиться

В видео Джон Скит и Пони Тони есть хороший пример плотного цикла (~ бесконечного цикла).

Пример:

while(text.IndexOf("  ") != -1) text = text.Replace("  ", " ");

, который создает замкнутый цикл, потому что IndexOf игнорирует символ Unicode нулевой ширины (таким образом находит два соседних пробела), но Replace не игнорирует их ( таким образом, не заменяя соседние пробелы).

В других ответах уже есть хорошие определения, поэтому я не буду их повторять.

9
ответ дан 24 November 2019 в 15:29
поделиться

Согласно словарю Вебстера, «цикл кода, который выполняется без высвобождения каких-либо ресурсов для других программ или операционной системы».

http://www.websters-online-dictionary.org/ti/tight+loop .html

2
ответ дан 24 November 2019 в 15:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: