2016-04-01 3 views
0

Я пытаюсь оптимизировать чтение текстового файла с помощью массива float.Прочитать текстовый файл с помощью OpenMP

Было бы здорово распараллелить этот процесс. Одним из возможных способов может быть использование mmap. Однако я не знаю, как это реализовать, потому что кажется непонятным, как разделить файл, особенно если числа с плавающей запятой имеют другой формат: 1.0 123.23 0.1145 и так далее.

Если есть какие-либо другие предположения, как оптимизировать скорость чтения, я был бы рад их услышать.

Благодарим за отзыв!

+4

Если у вас нет правильного оборудования, не тратьте время на попытку параллельного чтения с диска. Подумайте о том, что происходит, когда несколько процессов/потоков борются за доступ к одной головке диска на вашем диске. –

ответ

1

Узнайте, где узкое место. По моему опыту, чтение поплавков из текстовых файлов может быть медленным не из-за медленного ввода-вывода, а из-за разбора текстовых номеров. Если это ваш случай, это может помочь прочитать весь файл в виде текста в памяти (одним процессом, здесь, скорее всего, не будет пользы от распараллеливания), а затем проанализируйте его несколькими потоками параллельно.

Смежные вопросы