Size: a a a

2020 September 30

N

Nikolay in pro.cxx
Apache DOG™
В плюсах гцц ещё индексы не научился отдавать наружу?
источник

SE

Stanislav Ershov in pro.cxx
Vyacheslav
есть простой способ заставить BOOST_ASSERT печатать стектрейс перед вызовом terminate?
источник

AS

Anatoly Shirokov in pro.cxx
в частности в чате @pro_prog
источник

AS

Anatoly Shirokov in pro.cxx
@Hsksyp ваши сообщения перенесены в @pro_prog
источник

AT

Anatoly Tomilov in pro.cxx
реально ли сделать кастомный аллокатор для std::vector, который бы использовал преимущества возможности работы с витруальной памятью как здесь (речь про аналогичный механизм, предположительно доступный на CPU, конечно)?
источник

I

Ioann_V in pro.cxx
А что смущает? Разве Virtual Alloc не дает резервировать странички?
источник

OZ

Olzhas Zhumabek in pro.cxx
Anatoly Tomilov
реально ли сделать кастомный аллокатор для std::vector, который бы использовал преимущества возможности работы с витруальной памятью как здесь (речь про аналогичный механизм, предположительно доступный на CPU, конечно)?
я не читал до конца, но есть такая вещь как pinned memory, там можно реализовать двухстороннее общение которое будет выглядеть нормально, но со стороны хоста чтение будет медленное. Кажется называется mirrored memory или что то такое
источник

AT

Anatoly Tomilov in pro.cxx
то, что в std::vector гвоздями прибито и не отдано на откуп аллокатору — это стратегия роста (типа удвоения или x1.5 при достижении capacity) — ведь это будет мешать правильному использованию такой фичи?
источник

I

Ioann_V in pro.cxx
Более того, есть же еще Полиморфик Аллкотор, начиная с 17ых вроде.
источник

V

Vyacheslav in pro.cxx
Anatoly Tomilov
реально ли сделать кастомный аллокатор для std::vector, который бы использовал преимущества возможности работы с витруальной памятью как здесь (речь про аналогичный механизм, предположительно доступный на CPU, конечно)?
Вы хотите изобрести device_vector?
https://docs.nvidia.com/cuda/thrust/index.html
источник

AT

Anatoly Tomilov in pro.cxx
Olzhas Zhumabek
я не читал до конца, но есть такая вещь как pinned memory, там можно реализовать двухстороннее общение которое будет выглядеть нормально, но со стороны хоста чтение будет медленное. Кажется называется mirrored memory или что то такое
речь про то, что можно сделать так, чтобы вектор рос вообще без перемещений и перекопирований содержимого в моменты реаллокации
источник

I

Ioann_V in pro.cxx
Anatoly Tomilov
то, что в std::vector гвоздями прибито и не отдано на откуп аллокатору — это стратегия роста (типа удвоения или x1.5 при достижении capacity) — ведь это будет мешать правильному использованию такой фичи?
Ну, у тебюя будет запрос размера памяти идти же, а какую отдавать и сколько - это тебе решать.
источник

AT

Anatoly Tomilov in pro.cxx
Anatoly Tomilov
речь про то, что можно сделать так, чтобы вектор рос вообще без перемещений и перекопирований содержимого в моменты реаллокации
не про это речь
источник

I

Ioann_V in pro.cxx
Обычный - нельзя вроде, а folly можно
источник

OZ

Olzhas Zhumabek in pro.cxx
Anatoly Tomilov
речь про то, что можно сделать так, чтобы вектор рос вообще без перемещений и перекопирований содержимого в моменты реаллокации
я точно не помню, но сам аллокатор решает уничтожить или нет. Не обязательно уничтожать объект если произошло увеличение буфера. Ща поищу более точную инфу
источник

AT

Anatoly Tomilov in pro.cxx
Ioann_V
Ну, у тебюя будет запрос размера памяти идти же, а какую отдавать и сколько - это тебе решать.
нет. Я не могу отдать меньше, чем запросили
источник

V

Vyacheslav in pro.cxx
Anatoly Tomilov
речь про то, что можно сделать так, чтобы вектор рос вообще без перемещений и перекопирований содержимого в моменты реаллокации
Идея хороша но только для очень больших векторов. А для них можно и reserve позвать, а если много удалений, то отказаться от вектора и использовать list
источник

OZ

Olzhas Zhumabek in pro.cxx
Olzhas Zhumabek
я точно не помню, но сам аллокатор решает уничтожить или нет. Не обязательно уничтожать объект если произошло увеличение буфера. Ща поищу более точную инфу
в третьей таблице в самом низу: https://en.cppreference.com/w/cpp/named_req/Allocator . Насколько я понял можно схитрить. Но вопрос в том как отличить расширение от вызова деструктора самого вектора ...
источник

AT

Anatoly Tomilov in pro.cxx
Vyacheslav
Идея хороша но только для очень больших векторов. А для них можно и reserve позвать, а если много удалений, то отказаться от вектора и использовать list
тогда уж deque
источник

I

Ioann_V in pro.cxx
Не так случаем тебе нужно?
источник