Size: a a a

2020 August 17

ПК

Побитый Кирпич... in pro.cxx
и прочих выебонов компилятора не было
источник

ПК

Побитый Кирпич... in pro.cxx
Igor Kim
Всем привет, подскажите какой нибудь вф роутер, который пробивает на 3-4 комнаты в среднем на 2мбит/сек, вообще в этом не разбираюсь
std::vector норм вариант, Random access + кеш friendly
источник

P

Pepe 🐸 in pro.cxx
Побитый Кирпич
и прочих выебонов компилятора не было
ну это чтобы логику дебажить? Мне как раз нужны выебоны компилятора чтобы всякие крэши дебажить
источник

ПК

Побитый Кирпич... in pro.cxx
Pepe 🐸
ну это чтобы логику дебажить? Мне как раз нужны выебоны компилятора чтобы всякие крэши дебажить
Для этого нужны санитайзеры и они вроде как в дебаге лучше работают. Потому что в релизе компилятор из-за UB может код так трансформировать что крашей не будет, а будет какой нибудь бесконечный цикл
источник

ПК

Побитый Кирпич... in pro.cxx
А в дебаге санитайзер в этом месте UB найдёт
источник

VS

Vladimir Suisei in pro.cxx
Побитый Кирпич
std::vector норм вариант, Random access + кеш friendly
Поясни плиз про кэш-friendly, в чем выражается?
источник

АР

Андрей Руссков... in pro.cxx
Vladimir Suisei
Поясни плиз про кэш-friendly, в чем выражается?
элементы последовательно в памяти лежат
источник

ПК

Побитый Кирпич... in pro.cxx
Vladimir Suisei
Поясни плиз про кэш-friendly, в чем выражается?
Если данные в памяти лежат рядом, то они берутся из кэша а не из ОЗУ
источник

VS

Vladimir Suisei in pro.cxx
Побитый Кирпич
Если данные в памяти лежат рядом, то они берутся из кэша а не из ОЗУ
Но ведь данных может быть больше чем кэша? И вроде кэшей есть несколько. Тут  какой использутся?
источник

ПК

Побитый Кирпич... in pro.cxx
Vladimir Suisei
Но ведь данных может быть больше чем кэша? И вроде кэшей есть несколько. Тут  какой использутся?
любой. А если данных больше чем кэша, то это всё равно лучше чем каждый элемент читать в ОЗУ
источник

P

Pepe 🐸 in pro.cxx
Побитый Кирпич
Для этого нужны санитайзеры и они вроде как в дебаге лучше работают. Потому что в релизе компилятор из-за UB может код так трансформировать что крашей не будет, а будет какой нибудь бесконечный цикл
санитайзеры как раз на крэш не полагаются, это для gdb нужен крэш. Но может в дебаге и лучше работают, не знаю, я просто пришел к тому что дебажу в релизе именно изза воспроизводимости, ну и санитайзеры пока неплохо работали в плане ложноположительных результатов минимум
источник

ПК

Побитый Кирпич... in pro.cxx
короче читай про иерархию памяти, уровни кэшей и т.д.
источник

VS

Vladimir Suisei in pro.cxx
Побитый Кирпич
любой. А если данных больше чем кэша, то это всё равно лучше чем каждый элемент читать в ОЗУ
Т.е. если данных больше, то там начало будет в кэше, а остальное в озу?
источник

ПК

Побитый Кирпич... in pro.cxx
Pepe 🐸
санитайзеры как раз на крэш не полагаются, это для gdb нужен крэш. Но может в дебаге и лучше работают, не знаю, я просто пришел к тому что дебажу в релизе именно изза воспроизводимости, ну и санитайзеры пока неплохо работали в плане ложноположительных результатов минимум
Санитайзеры находят ошибку в твоём коде, но в релизе они её не найдут, потому что код трансформирован
источник

ПК

Побитый Кирпич... in pro.cxx
Vladimir Suisei
Т.е. если данных больше, то там начало будет в кэше, а остальное в озу?
типа того
источник

P

Pepe 🐸 in pro.cxx
Побитый Кирпич
Санитайзеры находят ошибку в твоём коде, но в релизе они её не найдут, потому что код трансформирован
да, наверно
источник

ПК

Побитый Кирпич... in pro.cxx
Vladimir Suisei
Т.е. если данных больше, то там начало будет в кэше, а остальное в озу?
там короче каждое чтение из ОЗУ заполняет кэш. То есть после чтения элемента из ОЗУ рядом лежащий элемент возьмётся уже из кэша
источник

ПК

Побитый Кирпич... in pro.cxx
Поэтому итерация по вектору быстрее чем по связному списку
источник

VS

Vladimir Suisei in pro.cxx
Почему нельзя просто взять и сделать гигабайт кеша?
источник

ПК

Побитый Кирпич... in pro.cxx
Vladimir Suisei
Почему нельзя просто взять и сделать гигабайт кеша?
Наверное можно, но это будет стоить гигабайт $
источник