Здравствуйте коллеги, есть такой больше вопрос (может даже больше теоритический), решали следующею задачу есть очень большой растровый файл, десятки гигабайт, и нужно делать различные фильтрации (улучшение, выделения границ, определения объектов и пр), реализовано было в три потока один поток читает в в кольцевой буфер, другой поток занимается получением данных из этого буфера обработкой и складывания результатов в другой буфер, из которого третий поток записывал результаты в файл.
И во всем этот процессе самая медленная часть была это чтение данных с файла, читали порциями размера от 1МБ до 10Мб, используя обычные WinApi функции для работы с файлами, обработка данных была практически на порядок быстрее и обрабатывающий поток больше находился в ожидании новой порции данных. Возможно ли есть какие то способы поднять скорость чтения, может маппинг файла в память или какие то системные функции.