Karim Belabas on Mon, 03 Apr 2006 17:15:09 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: elapsed time and system command |
* Bill Allombert [2006-04-03 15:55]: > On Sun, Apr 02, 2006 at 07:19:35AM +0000, cino hilliard wrote: > > The timing functions # and ## do not account for the time taken by calls to > > external objects. > > For example, > > > > (01:06) gp > # > > timer = 1 (on) > > (01:05) gp > t(n) = for(x=1,n,write("testtimer.txt","12345678901")) > > (01:07) gp > t(100000) > > time = 10,891 ms. > > (01:08) gp > ## > > *** last result computed in 10,891 ms. > > > > Actually took 50 sec. > > > > This has been the case for some time and applies to system commands also. > > Actually, PARI support three timing functions, times, ftime and > getrusage, getrusage being the default because this is the most reliable > and reproducible. getrusage report user time, not system or > wallclock time. > > If you really want wallclock time, edit pari.cfg and change > has_getrusage='yes' to has_ftime='yes' and run > ./Configure -l pari.cfg > make clean > and rebuild PARI. > > ? system("sleep 5"); > ? ## > *** last result computed in 5,081 ms. I made this a FAQ item. http://www.math.u-bordeaux.fr/~belabas/pari/doc/faq.html#systemtime Using CVS version (from 10 minutes ago), you can abbreviate the above to Configure --time=ftime Cheers, K.B. P.S: There was a bug in Configure that prevented 'ftime' to be detected. (Was not a problem since getrusage or times was always detected, and prefered.) -- Karim Belabas Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]