Charles Greathouse on Sun, 30 Sep 2012 22:48:45 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: timing in GP


I think that some reentrant solution is needed (in GP; of course it's
already possible in PARI). I don't have any particular thoughts on the
merits of the proposed solutions.

Charles Greathouse
Analyst/Programmer
Case Western Reserve University

On Sun, Sep 30, 2012 at 4:46 PM, Karim Belabas
<Karim.Belabas@math.u-bordeaux1.fr> wrote:
> * Loïc Grenié [2012-09-30 22:18]:
>> 2012/9/30 Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>:
>> > 2) the gettime interface:
>> > The problem is that it is not reentrant.
>> > Let say you write functions:
>> > zet(N,s)=gettime();my(s=sum(n=1,N,n^-s));print("sum:",gettime());s
>> > vecz(N,n)=gettime();my(v=vector(n,t,zet(N,.5+I*t)));print("vec:",gettime());v
> [...]
>> > The final time is wrong.
>> >
>> > We should provide a version of gettime that return the time in microseconds
>> > since the start of the GP session so we could do
>> > t=gettime2();....;print(gettime2()-t;
>>
>>     I think getabstime() or something similar would be better but in general
>>   it's a good idea.
>
> It would return a t_INT, I suppose; not a C long as gettime does.
> Otherwise it would wrap within less than an hour on 32-bit archs :-)
>
>> > We could also provide a function printtime(t,s,...) which would do
>> > print("Time ",s," :",gettime2()-t);
>>
>>     Is it really necessary ?
>
> I don't think so either.
>
> Cheers,
>
>     K.B.
> --
> Karim Belabas, IMB (UMR 5251)  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-bordeaux1.fr/~belabas/
> F-33405 Talence (France)       http://pari.math.u-bordeaux1.fr/  [PARI/GP]
> `
>