Мне хотелось бы узнать, можно ли явно указать, какой тип памяти (физическая или виртуальная память) должен использоваться приложением C# для выполнения разных действий? Позвольте мне объяснить это на примере:Ручное управление распределением памяти в C#
Допустим, у меня есть файл размером около 100 или 200 МБ. Мне нужно проанализировать этот файл, получить доступ и проанализировать его содержимое и выполнить операции над содержимым файла. Возможно ли, чтобы я мог хранить весь файл и его содержимое в виртуальной памяти вместо физической памяти?
Если возможно, есть ли какие-либо побочные эффекты/меры предосторожности, которые следует иметь в виду?
Причина моего вопроса заключается в том, что мне часто приходится иметь дело с такими огромными файлами или наборами данных (извлекаемыми из баз данных) и выполнять операции над ними, часть которых не обязательно должна выполняться последовательно или быть синхронизирована. Я хочу улучшить время выполнения и производительность приложения, если возможно, распараллеливая несекретные части.
Для этого вы можете использовать файлы с отображением памяти, но контроль над тем, где вы фактически загружаете объекты в память, находится вне вашего контроля. –