В компьютерном программировании термин «фрагментация» имеет несколько значений.
Типичные современные программные системы динамически выделяют память из структур, известных как кучи . Вызовы производятся к процедурам управления кучей для выделения и освобождения памяти. Управление кучей требует некоторого времени вычислений и может быть проблемой производительности. Фрагментирование относится к стратегиям повышения производительности путем использования специальных знаний о ситуации для агрегирования связанных запросов на выделение памяти. Например, если известно, что определенный вид объекта обычно будет требоваться группами по восемь, вместо того, чтобы выделять и освобождать каждый объект по отдельности, выполняя шестнадцать вызовов к менеджеру кучи, можно выделить и освободить массив из восьми объектов, сократив количество вызовов до двух.
Разделение на фрагменты — это специфическая функция протокола HTTP 1.1. [1] Здесь значение противоположно тому, что используется в управлении памятью. Оно относится к средству, которое позволяет разбивать неудобно большие сообщения на удобные по размеру меньшие «фрагменты».
В дедупликации данных , синхронизации данных и удаленном сжатии данных, фрагментация — это процесс разбиения файла на более мелкие части, называемые фрагментами, с помощью алгоритма фрагментации. Это может помочь устранить дублирующие копии повторяющихся данных в хранилище или сократить объем данных, отправляемых по сети, выбирая только измененные фрагменты. Алгоритм Content-Defined Chunking (CDC), такой как Rolling hash и его варианты, были самыми популярными алгоритмами дедупликации данных за последние 15 лет. [2]