Я работаю в научных вычислениях, и я хотел бы проверить улучшения, связанные с std :: vector.Высокопроизводительная альтернатива std :: vector
Прежде всего, я искренне сомневался, что пользовательские контейнеры могут значительно превосходить те, которые были предоставлены в STL, но после того, как он сыграл с Hopscotch Map и лично сравнивал 4-кратное улучшение по сравнению с std :: unordered_map и 30-кратным улучшением по сравнению с std :: map (просто для поиска, потому что я только просматриваю в своем коде), я не могу не задаться вопросом, есть ли альтернативы std :: vector
Настройка производительности - это широкий предмет. Это зависит от того, на что вы пытаетесь оптимизировать. Вы оптимизируете для вставок? читает? удаляет? В каком масштабе вы работаете? – Srikanth
Ваша карта hopscotch предлагает различные функции от 'std :: unordered_map', поэтому неудивительно, что вы получаете разную производительность. Какой аспект 'std :: vector' вы планировали отказаться в обмен на лучшую производительность? –
В крупномасштабных научных вычислениях наибольшая скорость, которую вы можете получить по простому вектору, заключается в использовании специальных функций ОС для выделения вектора для каждого домена NUMA. Или для каждой отдельной системы в кластере. Смерть от производительности зависит от доступа к данным из другой кластерной системы или узла NUMA. –