Size: a a a

2020 July 22

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Почему не std::list тогда?
лист фрагментирован, дека блочное хранение
источник

t

tamtakoe in supapro.cxx
Егор
[&groupField](Item a, Item b) тут вот айтемы копируются каждый раз
Да, забыл тут ссылку взять. Поправил
источник

ПК

Побитый Кирпич... in supapro.cxx
Anatoly Shirokov
лист фрагментирован, дека блочное хранение
Но это тоже считай фрагментированость :)

А кто у нас не фрагментирован? Правильно - vector :)
источник

ПК

Побитый Кирпич... in supapro.cxx
Так что я вижу пока противоречие в твоих словах
источник

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Но это тоже считай фрагментированость :)

А кто у нас не фрагментирован? Правильно - vector :)
да, а ты любой вектор в кеш впишешь?
источник

ПК

Побитый Кирпич... in supapro.cxx
Anatoly Shirokov
да, а ты любой вектор в кеш впишешь?
Дак  а какая разница? дека и лист это 100% кеш мис, а вектор не 100%
источник

ПК

Побитый Кирпич... in supapro.cxx
use case когда нужна дека я вижу - нужен push в начало.
источник

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Дак  а какая разница? дека и лист это 100% кеш мис, а вектор не 100%
с чего вдруг? сколько блок деки элементов хранит? с чего это вдруг такая же фрагментация как и у листа?
источник

ПК

Побитый Кирпич... in supapro.cxx
Anatoly Shirokov
с чего вдруг? сколько блок деки элементов хранит? с чего это вдруг такая же фрагментация как и у листа?
Ну ты понимаешь, что блок это тот же вектор, то есть он не может быть лучше вектора?
источник

Е

Егор in supapro.cxx
tamtakoe
Да, забыл тут ссылку взять. Поправил
Бенчили уже? Стоило того хоть?
источник

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Ну ты понимаешь, что блок это тот же вектор, то есть он не может быть лучше вектора?
дека использует непрерывные блоки, но это лучше для кеша, чем невъебенный вектор, который либо влезет, либо нет
источник

ПК

Побитый Кирпич... in supapro.cxx
Anatoly Shirokov
дека использует непрерывные блоки, но это лучше для кеша, чем невъебенный вектор, который либо влезет, либо нет
Чем лучше? Если блок меньше кеша, то при переходе между блоками будет кеш мисс, а в векторе не будет, так как больше элементов войдет
источник

ПК

Побитый Кирпич... in supapro.cxx
Какие плюсы даёт тут дека?
источник

t

tamtakoe in supapro.cxx
Егор
Бенчили уже? Стоило того хоть?
Ещё нет, пока обертки оптимизировать осталось. Чтобы в этот формат и из него быстро перегонялось
источник

Е

Егор in supapro.cxx
tamtakoe
Ещё нет, пока обертки оптимизировать осталось. Чтобы в этот формат и из него быстро перегонялось
Можно тогда после бенчей тут отписать? Интересно стало ради какого прироста люди в плюсы идут
источник

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Какие плюсы даёт тут дека?
это хорошее разумное умолчание. о плюсах я уже сказал выше. зачем повторяешь вопрос?
источник

t

tamtakoe in supapro.cxx
Егор
Можно тогда после бенчей тут отписать? Интересно стало ради какого прироста люди в плюсы идут
Отпишусь обязательно. Сегодня вечером, если успею, или тогда уж не следующей неделе
источник

ПК

Побитый Кирпич... in supapro.cxx
Anatoly Shirokov
это хорошее разумное умолчание. о плюсах я уже сказал выше. зачем повторяешь вопрос?
Не требует непрерывный кусок в хипе? Это плюс только в условиях недостатка памяти?
источник

M

Mr.Mait in supapro.cxx
tamtakoe
Переписал. Довел, как мне кажется, до ума алгоритм. Гляньте, пожалуйста, нормально код написан, есть там медленные места или потенциальные утечки? Синьором возьмут?))
https://gist.github.com/tamtakoe/860e0f3dc19e4ac268f64ec4b835deec
item возвращает копии, убрать & https://gist.github.com/tamtakoe/860e0f3dc19e4ac268f64ec4b835deec#file-group-by-cpp-L88
избавиться от old cast
источник

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Не требует непрерывный кусок в хипе? Это плюс только в условиях недостатка памяти?
а вот недавно менял кусок нашей библиотеки работы с данными. перевел все на deque, поскольку приходили такие объемы, что хип посылал нах.
источник