Jump to content

Накладные расходы (вычисления)

(Перенаправлено из заголовка протокола )

В информатике конкретной накладные расходы — это любая комбинация избыточного или косвенного времени вычислений, памяти, пропускной способности или других ресурсов, которые необходимы для выполнения задачи . [1] Это частный случай инженерных накладных расходов . Накладные расходы могут быть решающим фактором при разработке программного обеспечения в отношении структуры, исправления ошибок и включения функций. Примеры вычислительных затрат можно найти в объектно-ориентированном программировании (ООП), функциональном программировании , [ нужна ссылка ] передача данных и структуры данных.

Разработка программного обеспечения

[ редактировать ]

Выбор реализации

[ редактировать ]

Программист/инженер-программист может выбирать из нескольких алгоритмов , кодировок , типов данных или структур данных , каждый из которых имеет известные характеристики. При выборе среди них следует также учитывать соответствующие накладные расходы.

Компромиссы

[ редактировать ]

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

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

Сложность программного обеспечения во время выполнения

[ редактировать ]

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

Это следует противопоставить алгоритмической эффективности , которая учитывает все виды ресурсов — комбинацию (хотя и не тривиальную) сложности и накладных расходов.

Компьютерное программирование (время выполнения и вычислительные затраты)

[ редактировать ]

Вызов функции приводит к небольшим накладным расходам во время выполнения. [2] Иногда компилятор может минимизировать эти издержки, встроив некоторые из этих вызовов функций . [3]

Кэш процессора

[ редактировать ]

В кэше ЦП «размер кэша» (или емкость ) означает, сколько данных хранит кэш . Например, «кеш 4 КБ» — это кеш, содержащий 4 КБ данных. «4 КБ» в этом примере исключают служебные биты , такие как информация о кадре, адресе и теге. [4]

Связь (накладные расходы на передачу данных)

[ редактировать ]

Надежная отправка полезных данных по сети связи требует отправки не только самих полезных данных. Это также включает отправку различных данных управления и сигнализации ( TCP ), необходимых для достижения пункта назначения. Это создает так называемые издержки протокола , поскольку дополнительные данные не влияют на внутренний смысл сообщения. [5] [6]

В телефонии набор номера и время установления вызова являются накладными расходами. В двусторонней (но полудуплексной ) радиосвязи использование «over» и других сигналов, необходимых для предотвращения коллизий, является накладными расходами.

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

Кодировки и структуры данных (затраты на размер)

[ редактировать ]

Кодирование . информации и данных также приводит к накладным расходам Дата и время «2011-07-12 07:18:47» могут быть выражены как время Unix с помощью 32-битного со знаком . целого числа 1310447927, занимающий всего 4 байта. Представлено как ISO 8601. в формате UTF-8 в формате строка 2011-07-12 07:18:47 дата будет занимать 19 байт, что на 375% превышает размер двоичного целочисленного представления. В формате XML эту дату можно записать следующим образом с дополнительными 218 символами, добавив при этом семантический контекст, что это CHANGEDATE с индексом 1.

<?xml version="1.0" encoding="UTF-8"?>
<datetime qualifier="changedate" index="1">
  <year>2011</year>
  <month>07</month>
  <day>12</day>
  <hour>07</hour>
  <minute>18</minute>
  <second>47</second>
</datetime>

349 байт, полученные из XML в кодировке UTF-8, соответствуют издержкам размера на 8625 % по сравнению с исходным целочисленным представлением.

Файловые системы

[ редактировать ]

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

Множество небольших файлов создают больше накладных расходов, чем небольшое количество больших файлов.

См. также

[ редактировать ]
  1. ^ «Понимание визуализации накладных расходов и задержек в системах NVIDIA Nsight» . Технический блог NVIDIA . 18 сентября 2020 г. Проверено 4 июля 2024 г.
  2. ^ «Встроенные функции (C++)» . Microsoft Learn . Майкрософт . Проверено 22 марта 2024 г.
  3. ^ Махаффи, Терри (24 июля 2019 г.). «Встраивание решений в Visual Studio» . Блог команды C++ . Майкрософт.
  4. ^ Сорин, Дэниел Дж. (2009). «Кэши и иерархии памяти» (PDF) . Проверено 13 марта 2019 г. Презентация к курсу «Архитектура компьютеров».
  5. ^ Распространенные проблемы с производительностью сетевых приложений. Часть 1: Интерактивные приложения , Технические статьи по Windows XP, Microsoft
  6. ^ Накладные расходы протокола в сетях IP/ATM , Суперкомпьютерный центр Миннесоты
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2fff3ee7af3bfcc1cbb85c28880f4876__1720142400
URL1:https://arc.ask3.ru/arc/aa/2f/76/2fff3ee7af3bfcc1cbb85c28880f4876.html
Заголовок, (Title) документа по адресу, URL1:
Overhead (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)