|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
mayton Выровняй структуры данных на кешлинию. а чего ты от этого ждёшь, какой результат? это первое что надо делать с любой структурой - данные в ней выровнять. И чем меньше структура, тем лучше. Это аксиомы. А у меня там вообще ushort. И где я тут "волшебный набор рецептов" спрашивал? Я задаю конкретные вопросы, а ты льёшь воду. Демотивирует твоя вода. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 15:24 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
maytonТы попробовал? Что-то получилось? А зачем? Он вбросил, а там хоть не рассветай. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 15:27 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020Я задаю конкретные вопросы На которые даёт конкретные ответы Intel Advisor. Ставь и смотри. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 15:31 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Выровняй структуры данных на кешлинию. а чего ты от этого ждёшь, какой результат? это первое что надо делать с любой структурой - данные в ней выровнять. И чем меньше структура, тем лучше. Это аксиомы. А у меня там вообще ushort. И где я тут "волшебный набор рецептов" спрашивал? Я задаю конкретные вопросы, а ты льёшь воду. Демотивирует твоя вода. Мне кажется что я где-то был непонятен. Я говорю. Нет. Я утверждаю! std::vector аллоцирует старт массива не по границе кеш-линии. И я тебе, дорогой топик стартер даю первый совет. Иди и проверь. Где ты выделяешь первый объект? Он кратный кеш-линии или нет? У тебя размер объекта - хороший. Он - кратный кеш-линии. Осталось просто проверить offset всей коллекции. Чтоб гарантировать что мы не разрезаем 1-й и 4-й структурный объект по границе кеш-линии. Но почему-то этот простой вопрос который просто требует публикации физического адреса ссылки у тебя вызвал упорное молчание и нежелание ничего делать! Тогда зачем тебе топик?! Алексей?! Зачем тебе sql.ru? Если мой рецепт плох или неверен - так ты скажи. Он плох по тому-то и тому-то. Но тыж просто сидишь и хочешь что-то высидеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 15:35 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 mayton Выровняй структуры данных на кешлинию. а чего ты от этого ждёшь, какой результат? это первое что надо делать с любой структурой - данные в ней выровнять. И чем меньше структура, тем лучше. Это аксиомы. Это разные вещи. Для уменьшения размера достаточно #pragma pack(push, 1) , а кэшлиния это совсем о другом. Загугли хотя бы что такое кэшлиния, раз уж кэшем интересуешься. Можешь мой топик почитать, правда там я немного другое изучал. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 15:41 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Будет второй вариант. Задействовать 2-потока алгоритм таким образом чтоб L1 кеши не пересекались по данным. L3 - пускай пересекается это норм. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 16:31 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
лять ещё один, чё за вёдра с водой опять полились, нормально же общались! кэш-линия для передачи байт из памяти в кэш и обратно, чё вы там гуглить собрались, это известно на второй неделе в C/C++ Это тебе надо гуглить и по рукам надавать за советы про #pragma pack. Мало того, что это костыль, так ещё если будет atomic, то могут возникнуть ТОРМОЗА внезапно, ибо если atomic распадается на 2 линии, то становится ОЧЕНЬ медленным (разница до 300 раз!). Dima T кэшлиния это совсем о другом о каком ещё нахрен "другом"?! Он говорит про то что все вокруг дебилы и не выравнивают структуры, а он самый умный и на мой вопрос "как именно отработает кэш в данном случае, где мы шлём в другую ф-ю бла-бла" он мне рассказывает про то, чтобы я срочно проверил, а не передам ли я по кэш-линии 62 байта вместо 64х... и вот это ответ на мой вопрос. Я про это спрашивал? Да мне вообще насрать на эти 2 байта. И где тут про "другое", а не про кэш-линии? Человек с 15000 сообщениями, ты потрясающий! (с) Dimitry Sibiryakov А зачем? Он вбросил, а там хоть не рассветай. Это у тебя регулярные неконтролируемые вбросы в моих темах. Неконтролируемые и неудержимые. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 16:43 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 о каком ещё нахрен "другом"?! Успокойся и не хами, или еще раз забанят. Не хочешь понимать о чем тебе говорят - твое право, но тут не школа, учить тут никто не обязан. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2020, 17:28 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Dima T Алексей Роза 2020 о каком ещё нахрен "другом"?! Успокойся и не хами, или еще раз забанят. Не хочешь понимать о чем тебе говорят - твое право, но тут не школа, учить тут никто не обязан. Конечно забанят, чему ещё ты можешь научить, кроме как цепляться к словам и сливаться? Я в инете с 95-го года. И насмотрел как на баны, так и на форумных флудерастов. Напугал ежа голой жопой Dima T учить тут никто не обязан А читать то хотя бы обязан? Вопрос стоял "надо разобраться". А ты пришёл в тему, где жуют детали, в которых ты не спец, и умничаешь за мой счёт. Вы два Димы друг друга стоите, могли бы игнорировать мои темы и экономить нервы и время. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 03:48 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Вопрос стоял "надо разобраться" ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 04:55 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky Алексей Роза 2020, Если массив многократно проходится, то сделайте вначале его копию с рассчитанными значениями и работайте потом с копией. Если конечно это не тот знаменитый массив в триллион записей )) по утру таки вспомнил, о чём речь ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Локальные переменные всегда наилучший вариант, чтобы смежные данные попали в один кэш. Т.е. наилучшим вариантом будет в отдельной ф-и собрать всё что надо локально и просчитать весь вектор на месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 06:01 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 А читать то хотя бы обязан? Вопрос стоял "надо разобраться". А ты пришёл в тему, где жуют детали, в которых ты не спец, и умничаешь за мой счёт. Вы два Димы друг друга стоите, могли бы игнорировать мои темы и экономить нервы и время. Тебе подсказывают направление в котором разбираться, но похоже тебе это не интересно. Наверно ты прав, не стоит тратить на тебя время. На прощанье, если ты до сюда дочитал: кэшлиния это не любые 64 байта, а только те, адрес которых кратен 64-м (0...63, 64...127 и т.д.), поэтому структура например в 16 байт легко может оказаться в двух соседних кэшлиниях. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 07:09 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Dima T, да, ты прав, я темы создают не чтобы проблемы решать и развиваться, а специально чтобы вас всех тут собрать... дабы вы ответили за свои прегрешения (с) Таки зачем кратен? Можно и 60 байтов передать... и 2. Можно передавать много структур и да, они могут порваться. Плевать. Не тот случай. А если ты передаёшь адрес ячейки из массива, то в кэш-линию попадут все последующие/соседние ячейки, которые туда влезут. Такое упреждающее последовательное кэширование (предсказуемость рулит). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 10:45 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Пригрешения? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 11:32 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020Локальные переменные всегда наилучший вариант, чтобы смежные данные попали в один кэш. Вот только попадание в один кэш это не всегда лучший вариант. Требуется ещё одна мелочь: не допускать попеременного чтения и записи в одну линию. То есть из одной линии - только читать, а в другую - только писать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2020, 13:09 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Вот только попадание в один кэш это не всегда лучший вариант. Требуется ещё одна мелочь: не допускать попеременного чтения и записи в одну линию. То есть из одной линии - только читать, а в другую - только писать. чё-то я не припомню таких должностных обязанностей в уставе программиста ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 00:35 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020 Dimitry Sibiryakov Вот только попадание в один кэш это не всегда лучший вариант. Требуется ещё одна мелочь: не допускать попеременного чтения и записи в одну линию. То есть из одной линии - только читать, а в другую - только писать. чё-то я не припомню таких должностных обязанностей в уставе программиста Тебе помогают по топику а ты - фыркаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 08:50 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
во1, если я фыркаю, значит так нужно. Каким боком тебя это касается? во2, я интересуюсь подробностями, а не фыркаю. в3, ты уже не первый раз пытаешься на меня повесить какие-то свои домыслы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 10:05 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
(поднимая руки) Ну конешно меня, модератора С++ не касается. Окей я больше этот топик не буду комментировать. Развлекайся. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 10:36 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
мало называться модератором, взял бы да объяснил, что за Dimitry Sibiryakov не допускать попеременного чтения и записи в одну линию нормально я спросил без фырканий, нечего выдумывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 11:17 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Смотри внимательно что я квотировал. Растеряешь последних помогающих. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 11:49 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
ты свои последние 5 сообщений прочитай, помощник Я прекрасно вижу, что ты пишешь, не волнуйся. Проблема вовсе не в этом. а вот это ты мне зачем написал, не расскажешь? mayton У тебя размер объекта - хороший. Он - кратный кеш-линии. Осталось просто проверить offset всей коллекции. Чтоб гарантировать что мы не разрезаем 1-й и 4-й структурный объект по границе кеш-линии. Анатолий Московский написал хороший совет. Dima T и Дима Сибиряк дали пару раз инфу, но какими-то кусками, будто всей картины сами не видят. А потом скатились во флуд и оффтоп. Вот и вся помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 12:34 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Хочешь чтобы я участвовал? У меня - ощущение зыбкого кошмара. Ты - вроде - бы знаком с системным программированием. И когда я и Дима тебе говорим что аллокация памяти (malloc/new) может идти по границе параграфа (16 байт) а нам этого недостаточно. Нам нужна аллокация по границе кеш-линии (64 байт) я надеюсь что ты меня понял как художник художника. Или как инженер инженера. И когда я тебя попросил сходить и посмотреть на физические адреса - я ожидал ответа. Дескыт да. Вектор аллоцироан как надо. Леша? Получилось? Или нет? Ты в ответ завис. И переключился на другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 12:40 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
Алексей Роза 2020взял бы да объяснил, что за Какое слово тебе непонятно? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 12:43 |
|
как правильно хранить значения в объекте с т.з. кеша
|
|||
---|---|---|---|
#18+
mayton И когда я тебя попросил сходить и посмотреть на физические адреса - я ожидал ответа. Дескыт да. Вектор аллоцироан как надо. адрес первого: 7eb0 последнего: 8096 итого: 486 байт / 81 объект = 6 байт на штуку (там 3 шорта) 6 байт не влезут в кэш-линию, будет хвост в другой но для этого не нужно знать адреса. А для чего нужно? Dimitry Sibiryakov Алексей Роза 2020взял бы да объяснил, что за Какое слово тебе непонятно? я никогда не слышал об этой заморочке ни у Чендлера, ни у Мейерса, ни у Александреску. и как вообще этим можно управлять? Если тред один, то никак. Если два, то он сам разберётся, по-видимому. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2020, 13:11 |
|
|
start [/forum/topic.php?fid=57&msg=39996851&tid=2017340]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 163ms |
0 / 0 |