Информация об изменениях

Сообщение Re[2]: Что лучше: сОрок пЯток или пятОк сорОк? от 29.06.2015 22:31

Изменено 29.06.2015 22:35 omgOnoz

Здравствуйте, Abyx, Вы писали:

A>Простой ответ (практика) — делаем слой абстракции (например на шаблонах, 0 оверхеда), реализуем оба варианта, сравниваем производительность


A>Нормальный ответ (теоретика) — данные к которым нужен доступ должны лежать рядом.

A>Если надо экономить память — то тоже лучше структура массивов, не надо тратиться на выравнивание.
A>Если надо обработать только одно поле, то с точки зрения кеша и всяких префетчей в процессоре лучше структура массивов.
A>С точки зрения распараллеливания (в т.ч. simd) — тоже лучше работать с массивами.
A>Но если надо обращаться сразу ко всем полям записи, и соседние записи не нужны — то массив структур.

A>Ответ разработчика из Сколково — пишем как удобнее (массив структур), потом заводим тикет на исследование возможностей повышения производительности.

A>Умный ответ — "а зачем велосипед городить? вы же наверняка такую задачу уже решали, производительность разных подходов замеряли, код писали — вот его и реюзнем".

Есть еще операции добавления и удаления.
Re[2]: Что лучше: сОрок пЯток или пятОк сорОк?
Здравствуйте, Abyx, Вы писали:

A>Простой ответ (практика) — делаем слой абстракции (например на шаблонах, 0 оверхеда), реализуем оба варианта, сравниваем производительность


A>Нормальный ответ (теоретика) — данные к которым нужен доступ должны лежать рядом.

A>Если надо экономить память — то тоже лучше структура массивов, не надо тратиться на выравнивание.
A>Если надо обработать только одно поле, то с точки зрения кеша и всяких префетчей в процессоре лучше структура массивов.
A>С точки зрения распараллеливания (в т.ч. simd) — тоже лучше работать с массивами.
A>Но если надо обращаться сразу ко всем полям записи, и соседние записи не нужны — то массив структур.

A>Ответ разработчика из Сколково — пишем как удобнее (массив структур), потом заводим тикет на исследование возможностей повышения производительности.

A>Умный ответ — "а зачем велосипед городить? вы же наверняка такую задачу уже решали, производительность разных подходов замеряли, код писали — вот его и реюзнем".

Есть еще операции добавления и удаления.

В место того чтобы обновить 1 массив, приходится обновлять сразу несколько.