STD Unoromeded_map Reserve Policy Management ManagementC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 STD Unoromeded_map Reserve Policy Management Management

Сообщение Anonymous »

Привет, я работаю с std :: Неупорядоченная карта . Я имею дело со многими вставками. Подсчет вставок известен впереди. Я подумал, чтобы оптимизировать память, используя метод резерва и предполагая, что он предварительно выделяет большую часть памяти для всех будущих вставок. Однако я заметил, что это не имеет значения для того, когда карта пытается выделить память. < /P>
См. Пример здесь. Количество распределений для обеих карт, которая зарезервировала количество вставок, так и того, у кого нет одинакового? >

Код: Выделить всё

#include 
#include 
#include 
#include 

using namespace std;

inline size_t AllocationCounter = 0;

template 
struct my_alloc {
using value_type = T;

my_alloc(){ };

template 
constexpr my_alloc(const my_alloc& Other) noexcept  {  }

T* allocate(std::size_t n) {
AllocationCounter++;
return  static_cast(::operator new (n * sizeof(T)));
}

template 
void construct(T* p, Args&&... args) {
new (p) T(std::forward(args)...);
}

void deallocate(T* p, std::size_t n) noexcept {
AllocationCounter --;
delete p;
}

void destroy(T* p) noexcept {
p->~T();
}
};

void with_reserve()
{
unordered_map m1;

m1.reserve(1000); /// 
output: < /p>
With reserve - 1001 Allocations
Without reserve - 1001 Allocations
Ожидается: количество распределения с резервом, чтобы быть меньше, без.


Подробнее здесь: https://stackoverflow.com/questions/793 ... ent-policy
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • STD Unoromeded_map Reserve Policy Management Management
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • STD Unoromeded_map Reserve Policy Management Management
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • `std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<st
    Anonymous » » в форуме C++
    0 Ответы
    323 Просмотры
    Последнее сообщение Anonymous
  • Доступ к необработанному указателю после STD :: Vector :: Reserve Safe?
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Python-эквивалент вектора::reserve() [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

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