Должен ли я хранить неупорядоченные значения из серии с большими отверстиями в разреженном Ve c или HashMap в Rust? - PullRequest
0 голосов
/ 28 января 2020

У меня есть файл, содержащий миллионы строк данных. Каждая строка имеет уникальный идентификатор, а ряд идентификаторов много раз не в порядке и может содержать дыры. 1, 2, 10, 6, 3, 18 например.

Я хочу иметь возможность быстрого доступа к строкам по идентификатору, поэтому я думаю, что сохранение их в HashMap может быть жизнеспособным решением, но это выглядит как излишнее, когда они может быть сохранено в Vec.

Является ли хранение их в Vec хорошим решением, когда отверстия в серии могут стать довольно большими (1, 2, 3, 1000000, 1000001... и т. д.)? Я буду отбрасывать много строк. Следует использовать какой-то HashMap?

1 Ответ

1 голос
/ 28 января 2020

HashMap определенно будет работать хорошо. В зависимости от данных, разреженный Ve c может работать даже лучше, работать плохо или может вообще не работать. Самым безопасным и простым вариантом является использование HashMap и повторное рассмотрение вопроса, если вы обнаружите, что вам необходимо оптимизировать эту конкретную c функцию (что, вероятно, не будет).

...