Как распечатать среднее время, необходимое для открытия файла для чтения? - PullRequest
1 голос
/ 17 августа 2010

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

Ответы [ 3 ]

5 голосов
/ 17 августа 2010

Используйте Время :: HiRes , чтобы иметь возможность точнее рассчитывать время.

Почему вы хотите напечатать среднее время?Это будет действительно трудно сделать каким-либо значимым способом;Кэширование сделает чтение после первого намного быстрее.

2 голосов
/ 18 августа 2010

Perl обладает великолепными инструментами для тестирования и измерения времени.

В то время как Time :: HiRes может точно рассчитывать время, вы можете рассмотреть возможность использования более полных инструментов бенчмаркинга, чтобы определить, является ли узким местом открытие, чтение или что-то еще. Вам также нужно будет написать код для определения времени соответствующих битов, если Time :: HiRes - единственный инструмент в вашей сумке.

Для сравнения на уровне выписки я использую Devel :: NYTProf . Он довольно прост в использовании и имеет красивый HTML-вывод, который покажет, что происходит внутри вашей программы.

Для очень быстрого и простого тестирования уровня подпрограммы я использую модуль ядра Benchmark . У Рэндала Шварца есть статья об использовании Benchmark в обзоре Unix здесь . Эталонный тест можно использовать для измерения времени оператора или подпрограммы буквально в секундах. Лучше всего сочетать его с Time :: HiRes для более точной синхронизации. Бенчмарк является основным дистрибутивом; Time :: HiRes необходимо установить из CPAN.

Самое простое с самого начала - установить Time :: HiRes, а затем использовать Benchmark для простой таблицы на время соответствующих операторов или подпрограмм. Если кажется, что есть что-то еще, используйте более сложный Devel :: NYTProf.

0 голосов
/ 17 августа 2010

Вы можете использовать функцию time (), чтобы получить время в начале и в конце открытого файла. Затем вы можете вычислить разницу между ними.Тогда вы можете усреднить.Вы можете сделать то же самое с чтением файлов тоже

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...