LINUX.ORG.RU

История изменений

Исправление segfault, (текущая версия) :

Сегодня твоя функция выводит код возврата 0..255, а завтра это развитая система обработки и логирования ошибок.

Еще раз спрошу - что может вызвать такую метаморфозу? Или ты сначала пишешь код системы, а потом принимаешься за ее проектирование?

мои варианты - только то, что надо и только так как надо.

Т.е. специализированый менеджер памяти? Так он и без GC даст прирост производительности.

в твоём коде изначальная непонятка с нулём, с которым ты всё и сравниваешь. Сравнивать нужно первый элемент с остальными.

При чистом поиске максимума - да. Но у меня эти уровни выбираются из списка неотрицательных констант, которые здесь я опустил. А int применяется как дефолтный тип в Си.

Я так бегло русский вариант просмотрел - вроде всё правильно написано. Явных ляпов как не странно нет.

Я тоже бегло прочитал, потом воспользовался поиском по странице - нигде ничего не написано про выделение памяти, только про освобождение.

Так вот, O(f(N)) это по определению время выполнения, делённое на константу, в случае если N стремится к бесконечности.

Если N стремится к бесконечности, любая возрастающая функция от него тождественно равна бесконечности. Так зачем же все-таки записывают функцию?

И запись O(f(N)) как раз и говорит, как это время зависит в пределе.

В каком пределе? В бесконечности? А зачем мне эта бесконечность, если реальные значения N у меня колеблются в совсем других пределах.

Да, на x86 это скорее всего в присваивание развернётся - как я уже говорил, в x86 8 регистров

А если их будет 16 или, скажем, 64 - что-то кардинально изменится?

Суть в том, что присваивание нужно намного реже, чем это кажется.

И тем не менее, оно нужно. И когда оно мне понадобится, я могу случайно забыть про автодополнение, опечататься и получить трудновылавливаемый баг.

Исходная версия segfault, :

Сегодня твоя функция выводит код возврата 0..255, а завтра это развитая система обработки и логирования ошибок.

Еще раз спрошу - что может вызвать такую метаморфозу? Или ты сначала пишешь код системы, а потом принимаешься за ее проектирование?

мои варианты - только то, что надо и только так как надо.

Т.е. специализированый менеджер памяти? Так он и без GC даст прирост производительности.

в твоём коде изначальная непонятка с нулём, с которым ты всё и сравниваешь. Сравнивать нужно первый элемент с остальными.

При чистом поиске максимума - да. Но у меня эти уровни выбираются из списка неотрицательных констант, которые здесь я опустил. А int применяется как дефолтный тип в Си.

Я так бегло русский вариант просмотрел - вроде всё правильно написано. Явных ляпов как не странно нет.

Я тоже бегло прочитал, потом воспользовался поиском по странице - нигде ничего не написано про выделение памяти, только про освобождение.

Так вот, O(f(N)) это по определению время выполнения, делённое на константу, в случае если N стремится к бесконечности.

Если N стремится к бесконечности, любая возрастающая функция от него тождественно равна бесконечности. Так зачем же все-таки записывают функцию?

И запись O(f(N)) как раз и говорит, как это время зависит в пределе.

В каком пределе? В бесконечности? А зачем мне эта бесконечность, если реальные значения N у меня колеблются в совсем других пределах.

Да, на x86 это скорее всего в присваивание развернётся - как я уже говорил, в x86 8 регистров

А если их будет 16 или, скажем, 64 - что-то кардинально изменится?