В настоящее время я пишу симулятор кэша и обдумываю, какой контейнер использовать для этого конкретного приложения.
Мне нужно прочитать память из файла, который содержит данные в следующем формате:
[instruction] [32 bit address] [amount of instructions since previous data memory access]
пример:
s 0x1fffff78 1
инструкция всегда 's' или 'l', а файлы находятся в диапазоне от 1 кБ до 10 МБ.
Я рассматриваю вопрос об использовании карты, поэтому я могу связать инструкцию садрес.Но насколько я знаю, карта работает не очень быстро с извлечением и вставкой, что противоречит цели кэша.
Вектор - это мой второй выбор, но это усложнит разделение трех полей.Я бы использовал вектор пар, если файлы остались маленькими, но это не так.Кроме того, поскольку мне нужно искать по адресу памяти, это не кажется правильным выбором.
Должен ли я использовать карту, вектор или есть более быстрые / лучшие альтернативы?