Size: a a a

2020 December 11

IL

Ilya L in pro.cxx.holywars
Timur Safin
то есть вы мне будете рассказывать про префетчи?
(мне так сказали)
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
Timur Safin
да, ладно один мисс на горячих данных в долгосрочном периоде будет не виден
ну вот ходить по вектору из IUnknown, где все IUnknown -- инстансы одного класса -- конвейер не заметит проблем)
источник

IL

Ilya L in pro.cxx.holywars
(не бей)
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
@urandon Nikita Khomutov
ну вот ходить по вектору из IUnknown, где все IUnknown -- инстансы одного класса -- конвейер не заметит проблем)
но это не то, что бы очень частый кейс
источник

TS

Timur Safin in pro.cxx.holywars
Ilya L
там минус все пре фетчи
префетчи справятся, не spatial так поточный
источник

TS

Timur Safin in pro.cxx.holywars
а с vtable и префетчить ничего не надо - лдин раз закешировать
источник

p

pepeground_bot in pro.cxx.holywars
а вот в сша есть свои плюсы,. - я бы сказал что в этом чате?
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
можно ещё коллекции из полиморфных объектов сортировать по vptr))
источник

IL

Ilya L in pro.cxx.holywars
Ilya L
неплохо так меня по системной части потаскали
а
источник

p

pepeground_bot in pro.cxx.holywars
а ты не понял!
источник

IL

Ilya L in pro.cxx.holywars
немного все изменилось
источник

TS

Timur Safin in pro.cxx.holywars
скольки разных типов у тебя в коллекции будут объекты? сколько vtable надо закешировать? (2-3? 10? о ужас). это всего один индирект. Почему нас вызов всех импортированных методов через thunk не напрягает, а значительно более дружественное для кеша vtable напрягает?
источник

IL

Ilya L in pro.cxx.holywars
оказывается уже будет оффер
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
Timur Safin
скольки разных типов у тебя в коллекции будут объекты? сколько vtable надо закешировать? (2-3? 10? о ужас). это всего один индирект. Почему нас вызов всех импортированных методов через thunk не напрягает, а значительно более дружественное для кеша vtable напрягает?
даже если 2-3, но если из равномерного распределения сгенеришь вектор с этими объектами, конвейер спасибо не скажет (собственно, как и для любых других бранчей)
источник

TS

Timur Safin in pro.cxx.holywars
Timur Safin
скольки разных типов у тебя в коллекции будут объекты? сколько vtable надо закешировать? (2-3? 10? о ужас). это всего один индирект. Почему нас вызов всех импортированных методов через thunk не напрягает, а значительно более дружественное для кеша vtable напрягает?
при включенном EPT pagewalk по линейному адресу в гостевой физический адрес в хостовый физический адрес потенциально может обратиться к талице трансляции что-то около 40 раз. И ничего TLB справляется
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
Timur Safin
(я был в подсистеме памяти в проекте VIP Бабаяна и мы немного тырили дизайны у Хасвелла/Скайлейка когда префетчи делали)
кстати, а может ли иметь смысл у одного ядра CPU иметь несколько очередей (конвейеров), чтоб чуть лучше переживать кейс с 2-3 классами в коллекции, перемешанных равномерно?
источник

@N

@urandon Nikita Khom... in pro.cxx.holywars
кажется, что скоре нет, чем да
источник

TS

Timur Safin in pro.cxx.holywars
@urandon Nikita Khomutov
кстати, а может ли иметь смысл у одного ядра CPU иметь несколько очередей (конвейеров), чтоб чуть лучше переживать кейс с 2-3 классами в коллекции, перемешанных равномерно?
память то общая. тут же memory pressure увеличивается, и от того что будет несколько бекэндов станет только сложнее
источник

YB

Yarique Belgorodsky in pro.cxx.holywars
Ilya L
оказывается уже будет оффер
Так! Не опозорь Зелень
источник

YB

Yarique Belgorodsky in pro.cxx.holywars
Кидай хуй как @Reodont
источник