Просмотр сведений о чтении и записи файлов для повышения производительности

Средство Файловая операция ввода-вывода предоставляет сведения о чтении и записи файлов во время сеанса профилирования. Файлы автоматически создаются в отчете после сбора и упорядочиваются по целевому процессу с отображением сводных данных.

Настройка

  1. Откройте профилировщик производительности (ALT+F2) в Visual Studio.

  2. Установите флажок Файловая операция ввода-вывода.

    Screenshot showing File IO tool selected.

    Примечание.

    Если инструмент недоступен для выбора, снимите флажки для всех остальных инструментов, так как некоторые из них должны работать в одиночку. Дополнительные сведения о совместной работе инструментов см. в статье Использование средств профилирования из командной строки.

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

  3. Нажмите кнопку Пуск, чтобы запустить средство.

  4. При появлении запроса нажмите Да.

  5. После его запуска просмотрите сценарий, который вы хотите профилировать в приложении. Затем выберите Остановить сбор или закройте приложение, чтобы просмотреть данные.

Screenshot showing File IO tool stopped.

Анализ отчета о файловой операции ввода-вывода

Выберите Операции чтения файлов, чтобы просмотреть все операции чтения файлов на одной странице, и выберите Операции записи файлов, чтобы просмотреть операции записи. Если щелкнуть правой кнопкой мыши одну из строк, можно перейти к источнику в коде. Если агрегатная строка считывалась несколько раз, разверните ее, чтобы просмотреть отдельные операции чтения для этого файла с определенной частотой.

Screenshot showing File Reads selected.

Коэффициент дублирования для чтения отдельного файла — это количество байтов, считываемых из файла, деленное на значение размера файла. Для операции агрегатного чтения — это общее количество байтов, считываемых из файла, деленное на значение среднего размера файла во всех операциях чтения. Та же логика применяется для операций записи файлов. Коэффициент дублирования показывает, считываете ли вы или записываете из файла больше, чем нужно. Если коэффициент дублирования составляет 3x, значит количество байтов, считываемых из файла, в 3 раза больше размера самого файла. Это может свидетельствовать о том, что вы считываете и обрабатываете больший объем, чем думаете. Это позволяет выявить место, где кэширование результатов чтения и обработки файлов может улучшить производительность вашего приложения.

Screenshot showing Duplication Factor selected.

Дважды щелкните любой файл, чтобы загрузить его в представление Обратные трассировки. Это представление загружается для любого файла в операциях чтения или записи, что позволяет узнать, в каком месте в коде происходит чтение или запись.

Screenshot showing Backtraces view selected.

Примечание.

В настоящее время поддерживаются только варианты "Прочитанные данные", "Записанные данные" и "Количество".

Примечание.

Кэширование данных чтения файла является некорректным исправлением, так как его уже выполняет ОС. Вместо этого следует кэшировать то, во что преобразуются считанные файлы.