Skip to content

Latest commit

 

History

History

Allocator

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Лабораторная работа 5: Allocator

Задача

Вам требуется написать свой аллокатор, а также произвести сравнение его производительности c std::allocator

Принцип работы аллокатора должен быть следующий:

  1. Аллокатор при конструировании выделяет большой объем памяти. Освобождение происходит только в конце “жизни”. Никаких аллокаций памяти в процессе “работы” быть не должно
  2. Вся память должна быть “разбита” на “кусочки”. Размеры кусочков, а также их количество параметризуется. “Кусочки” одинакового размера разумно объединить в группы
  3. При запросе на выделение памяти размера “N” аллокатор ищет свободный подходящий кусочек нужного размера (ближайший свободный, подходящий по размеру). Если такого нет, то происходит исключение
  4. При освобождении, аллокатор возвращает кусочек к списку свободных.
  5. Ваш аллокатор должен соответствовать требованиям к аллокаторам для C++17