Gerhard Niklasch on Fri, 24 Apr 1998 23:51:34 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Missing API in PARI? |
> From: Ilya Zakharevich <ilya@math.ohio-state.edu> > Message-Id: <199804242121.RAA10259@monk.mps.ohio-state.edu> > Date: Fri, 24 Apr 1998 23:21:02 +0200 [...] > You mean that there was a way to put a vector into a variable so that > it the components do not occupy consequent chunks of memory? Or is > > (blah(foo))[73] = bar > > allowed? (23:39) gp > vector(5,j,0)[2]=1 *** unexpected character: vector(5,j,0)[2]=1 ^- (Not that this made much sense, 'coz you wouldn't have been able to access the remainder of the vector afterwards if the assignment had worked!) > Leaving the technobabble (which I cannot follow) aside, is it true > that the default way to assign to arrays element-wise takes O(n^2) now? How about trying it? (23:42) gp > a=vector(200000,j,0); time = 1,300 ms. (23:43) gp > for(j=1,5000,a[j]=1;) time = 170 ms. (23:43) gp > for(j=1,10000,a[j]=1;) time = 300 ms. (23:43) gp > for(j=1,20000,a[j]=1;) time = 670 ms. (23:43) gp > for(j=1,50000,a[j]=1;) time = 1,670 ms. (23:43) gp > for(j=1,100000,a[j]=1;) time = 2,780 ms. (23:43) gp > for(j=1,200000,a[j]=1;) time = 5,490 ms. That's on a P133 (under otherwise heavy load). ~28 microseconds per iteration; and a significant part of that is the overhead of the GP for loop. Enjoy, Gerhard