Я собираюсь провести сравнительный анализ моего конкретного случая, но я хочу знать основные аргументы за или против выполнения следующих действий.
При отправке матриц для экземпляра геометрии, предполагая, что каждый пакет содержит Список позиций, где Позицияэто небольшая структура, мы могли бы:
(A) Итерировать по List<Position>
и List<int>
и использовать результат List<int>[i]
для выполнения List<Position>.GetRange(offset, count)
, отправитьв графический процессор.
(B) Выполните итерацию по List<List<Position>>
, отправьте List<List<Position>>[i]
в графический процессор.
(Предположение составляет List<Position>.Count
для пакета будет вполнемаленький.)
Интуитивно кажется, что (B) будет быстрее с точки зрения кэширования процессора, верно ли это в теории?