Доступ к ОЗУ всегда (*) быстрее, чем реальный доступ к диску...
Время зависит от вашего оборудования, но для небольшого объема данных доступ к ОЗУ — это вопрос нс, в то время как доступ через USB может варьироваться от десятков мкс до миллисекунд. Однако это не относится к USB: доступ к ОЗУ быстрее, чем доступ к SSD. Это еще более верно по сравнению с доступом через USB.
Еще одна интересная вещь, на которую стоит обратить внимание, это то, что время доступа не пропорционально размеру данных. Особенно это касается первых мегабайт (частично из-за кешей). Таким образом, чем больше вы сможете прочитать за один раз, тем лучше будет ваше выступление.
Наконец, когда ваши данные хранятся в ОЗУ, наиболее часто используемые данные кэшируются, что приводит к еще меньшему времени задержки.
Поэтому, когда это возможно, вы должны сразу прочитать данные и сохранить их в ОЗУ для последующего доступа.
(*) Единственным ограничением для этого правила является размер вашей оперативной памяти. Если ваш компьютер использует больше оперативной памяти, чем физически, дополнительные данные будут заменены, то есть наименее используемые данные будут переданы на ваш физический диск и извлечены при необходимости. Это, очевидно, приведет к катастрофическим результатам.
В заключение, прочитайте сразу огромное количество, но не больше, чем у вас есть место в оперативной памяти для его хранения. Чтение более 1G за раз не приведет к значительному улучшению производительности и может только вызвать проблемы.
person
Maxime B.
schedule
02.05.2019
mmap()
? - person pmg   schedule 02.05.2019