IT-словарь › Программирование › EnTT

EnTT

Программирование Svenska → Обновлено: 2026-10-26
Подробнее
Создатель
Микеле Каини (skypjack)
Год
2017
Тип
Библиотека C++
Лицензия
MIT
Исходный код
github.com/skypjack/entt

Современная header-only библиотека на C++, реализующая Entity Component System на разреженных множествах, а не на архетипах.

Микеле Каини выпустил EnTT в 2017 году. Для каждого типа компонента заводится своё разреженное множество: плотный массив компонентов плюс разреженный индекс, ключом которого служит идентификатор сущности. Поэтому добавлять и убирать компоненты почти бесплатно — в отличие от схем на архетипах, где сущность целиком переезжает из таблицы в таблицу. Счёт приходит при одновременном обходе нескольких компонентов; EnTT смягчает его «группами», которые держат множества отсортированными в одном порядке.

Это строительный блок, а не движок, и самая известная его роль — ядро ECS в Minecraft Bedrock Edition. Заодно он стал точкой отсчёта в вечном споре о том, какая модель хранения на самом деле быстрее, — ответ, как обычно: «зависит от задачи».

Источники EnTT на GitHub
← Назад к словарю