`std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<stC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 `std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<st

Сообщение Anonymous »

Некоторые реализации векторов (например, https://github.com/nicola-gigante/bitvector) используют 1 бит на бит (в отличие от 8 бит, как в старом std::vector).
Новое В черновиках C++ также есть такие вещи, как std::bitset ( https://cppreference.com/w/cpp/utility/bitset ).
Содержит ли новый черновик C++ разрешить std::map (2-битное значение) просто использовать еще 2 бита для хранения каждого значения (по сравнению с std::set)? Как насчет использования ЦП (хотелось бы получить данные о том, сколько мс нужно использовать алгоритмам, сжимающим логические значения.)
Выполняйте значения std::map используйте в 4 раза меньше, в 2 раза меньше или столько же, сколько std::map

Подробнее здесь: https://stackoverflow.com/questions/785 ... -tuplebool
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»