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