Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     14 Oct 2002  19:05:02
 To : "Ivan Frolcov"
 Subject : Re: elapsed time
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Ivan Frolcov.
 
  RK>>> Задача: есть функция func(). Hадо померять время ее выполнения в
  RK>>> милисекундах.
  RK>>> Как это сделать?
  AC>> use Time::HiRes;
 
 IF> Ой ли? Боюсь, что это вообще на писюке с этим модулем сделать
 IF> затруднительно...
 
 IF> use Time::HiRes qw(gettimeofday usleep);
 IF> my($s1,$ms1);
 IF> my($s,$ms)   = gettimeofday;
 IF> while(1){
 IF>   ($s1,$ms1) = gettimeofday();
 IF>   last if $ms1 != $ms;
 IF> }
 IF> print "$s $ms\n$s1 $ms1";
 
 IF> имеем
 
 IF> C:\work>perl qq1.pl
 IF> 1034598114 340000
 IF> 1034598114 400000
 
 IF> Дискретность, как видно, 0.6 секунды.
 
 0.06, прямо скажем... Первый знак разности - 0.
 
 IF> Это на два порядка грубее, чем
 IF> затребовано.
 
 Просили _в_ миллисекундах, а не _с точностью до_ миллисекунды. Второе не на
 писюках в норме тоже невозможно - характерная гранулярность 10-100
 миллисекунд даже если машине больше делать нечего.
 
 IF> C:\work>perl -v
 
 IF> This is perl, v5.6.1 built for MSWin32-x86-multi-thread
 IF> (with 1 registered patch, see perl -V for more detail)
 
 IF> Copyright 1987-2001, Larry Wall
 
 IF> Binary build 629 provided by ActiveState Tool Corp.
 IF> http://www.ActiveState.com Built 12:27:04 Aug 20 2001
 
 Кстати, у меня тот же код дал
 
 1034607670 908279
 1034607670 908295
 
 то есть таки меньше кванта...
 
 ==== 8< [!perl -v] ====
 
 This is perl, v5.6.1 built for i386-linux
 
 Copyright 1987-2001, Larry Wall
 
 ==== >8 [!perl -v] ====
 
 IF> А вообще-то разумнее погонять ее часик и посмотреть, сколько раз она
 IF> отработает. Получится, что и обычного time достаточно.
 
 Если есть возможность погонять ее часик, то можно и Benchmark'ом
 воспользоваться...
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 elapsed time   Ruslan Kutsin   14 Oct 2002 14:25:33 
 Re: elapsed time   Artem Chuprina   14 Oct 2002 15:20:48 
 Re: elapsed time   Ivan Frolcov   14 Oct 2002 16:25:55 
 Re: elapsed time   Artem Chuprina   14 Oct 2002 19:05:02 
 Re: elapsed time   Konstantin Tokar   14 Oct 2002 19:15:40 
 Re: elapsed time   Artem Chuprina   14 Oct 2002 19:28:00 
 Re: elapsed time   Andrey Sapozhnikov   14 Oct 2002 22:26:39 
 Re: elapsed time   Ivan Frolcov   14 Oct 2002 20:00:29 
 Re: elapsed time   Ivan Frolcov   14 Oct 2002 19:59:08 
 Re: elapsed time   Artem Chuprina   15 Oct 2002 22:52:19 
 elapsed time   Ruslan Bondarev   14 Oct 2002 21:00:32 
 Re: elapsed time   Artem Chuprina   15 Oct 2002 22:52:21 
 elapsed time   Ruslan Bondarev   16 Oct 2002 01:51:21 
 Re: elapsed time   Valentin Nechayev   27 Oct 2002 19:33:54 
Архивное /ru.perl/144546050d895.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional