Я работаю над проектом по сравнению с производительностью различных реализаций списков в C ++ (например, std :: list , std :: vector , возможно, другие) против пользовательской реализации. Я особенно заинтересован в том, чтобы реализовать развернутый связанный список , поскольку он потенциально обеспечивает хороший баланс между эффективностью кэша (из-за хранения нескольких элементов в смежных массивах) и гибкостью (по сравнению со списком на основе чистого массива, таким как STD :: Vector ).
Я начал планировать реализацию, но некоторые определяющие проекты, которые я могу использовать, я не стал Plannation, но я имею решения о том, что я могу использовать Perfection. /> Специально, я не определился с следующим: < /p>
стратегия размера узлов < /strong>: как определить оптимальный размер для внутренних массивов в каждом узле развернутого священного списка? Моя первоначальная мысль состоит в том, чтобы основывать его на размерах линии кэша или размерах кэша L1/L2, чтобы максимизировать использование кэша, возможно, (Cachesize/sizeof (elementType)) - Overh Head . Каковы общие стратегии или эвристика для выбора этого размера для общих вариантов использования, или как можно обычно использовать эмпирический определение хорошего размера?
Подробнее здесь: https://stackoverflow.com/questions/795 ... nchmarking