Comments 11
Стандартная библиотека [шаблонов] и STL это все же разные вещи?
С чего бы они были разные, когда STL именно так и расшифровывается?
C++ Standard Library и STL - две разные вещи, вот тут можно почитать например:
https://en.wikipedia.org/wiki/Standard_Template_Library#:~:text=The STL was created as,Library are two distinct entities.
Вы опять слово "шаблонов" пропустили.
Где я пропустил слово "шаблонов"? Можете пояснить свою мысль?
В статье "Стандартная библиотека C++" именуется STL, что неверно.
"Стандартная библиотека C++" (это та, которая std::) так и называется "Стандартная библиотека C++" без слова "шаблонов".
В статье и правда в паре мест перепутано, но вы-то пишете "Стандартная библиотека [шаблонов] и STL это все же разные вещи", а вот это уже просто неверно. Потому что STL расшифровывается как "Standard Template Library", что переводится на русский как "Стандартная библиотека шаблонов" и никак иначе.
"Стандартная библиотека C++" (это та, которая std::)
Стандартная библиотека C++ — это ещё и та, которая posix::.
Осталось еще на уровне ядра сделать сборщик мусора.
Есть библиотека mimalloc, такая же, если не более, эффективная, и там ничего самому переопределять, включать или наследовать не нужно - только включить один файл в одну единицу трансляции.
Не уверен, как работает mimalloc, но использование пулов фиксированного размера в аллокаторе общего назначения не кажется логичным, т.к. увеличение количества пулов приведет у замедлению поиска нужного пула. Впрочем, в эффективности подхода автора я также сомневаюсь, так как используется по сути такое же общее состояние. Но в таком случае хотя бы общим состоянием будут пользоваться более ограниченное количество объектов.
Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью