Должен ли я отделить Hot/Cold Struct для эффективности кэша или сохранить их объединенными? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Должен ли я отделить Hot/Cold Struct для эффективности кэша или сохранить их объединенными? [закрыто]

Сообщение Anonymous »

Я пытаюсь выбрать между двумя способами структурирования моих данных в C ++. < /p>
Метод 1 < /h3>
struct fast_path {
int fast1;
int fast2;
// ... critical path data, accessed very often
};

struct slow_path {
// can access slow_path from fast_path
fast_path m_fast_path; // hot data grouped at the start
int slow1;
int slow2;
// ... rarely used data
};
< /code>
Метод 2 < /h3>
struct path {
int fast1;
int fast2;
int slow1;
int slow2;
};
< /code>
Оба метода одинаковым с точки зрения производительности? Поскольку процессоры извлекают данные в кэш -линиях (обычно 64 байта)
Так что даже если вы получаете доступ к полему в обоих методах, только он доступ к линии кэша правильно?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -them-unif
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»