LINUX.ORG.RU

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

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

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью strlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Почему строки не copy-on-write с подсчетом ссылок (что позволило бы избежать преждевременного выделения памяти и копирования)? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры (передать владение)?

Вывод: обсуждаемый кусок кода — это перемалывание байтов ради перемалывания байтов, бессмысленное и беспощадное.

Исправление Manhunt, :

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью strlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Почему строки не copy-on-write с подсчетом ссылок (что позволило бы избежать преждевременного выделения памяти и копирования)? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры (передать владение)?

Вывод: обсуждаемый кусок кода — это перемешивание байтов ради перемешивания байтов, бессмысленное и беспощадное.

Исправление Manhunt, :

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью strlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Почему строки не copy-on-write с подсчетом ссылок (что позволило бы избежать преждевременного выделения памяти и копирования)? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры (передать владение)?

Исправление Manhunt, :

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью strlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Почему строки не copy-on-write с подсчетом ссылок (что позволило бы избежать преждевременного выделения памяти и копирования)? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры?

Исправление Manhunt, :

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью strlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Почему строки не copy-on-write с подсчетом ссылок? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры?

Исправление Manhunt, :

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью strlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры?

Исправление Manhunt, :

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью stlren/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры?

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

А со стоимостью выделения/высвобождения памяти что?

А со стоимостью stlen/memcpy что? Почему длина строки не таскается вместе со строкой, а каждый раз вычисляется заново? Если мы считаем каждое выделение, то почему в коде не рассмотрен отдельно случай, когда выделять ничего не надо, а можно просто скопировать указатели из аргументов функции в тело структуры?