cino hilliard on Wed, 05 Oct 2005 23:25:13 +0200


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

RE: Pari on P3 vs P4 binary windows distro


It is off topic but I lost gcc 3.4.4 compiling on both systems like it does not recignize the path properly. Executables previously compiled still work but I can't the thing to compile.

My guess is this problem is with cygwin.

This part of the problem I solved after hours and hours of searching the net until by luck I
download  the Mingw 5.0 installer.

http://prdownloads.sourceforge.net/mingw/MinGW-5.0.0.exe?download

This does the trick and you dont have to fiddle with the path environment variable. I do not understand why this simple way of getting gcc and gcc+ working in the windows environment is not mentiond anywhere I can find on the internet. I post it here as there may be someone else
having the same problem.

Back to my pari problem, I still cannot get the p4 to write faster in Pari. The p3 writes 8 times faster.

testwrite(n) =    \\ write to disk test
             {
             local(x,t1,t2);
               t1=gettime();
             for(x=1,n,write1("testwrite.txt","12345678901")
             );
             t2=gettime();
             print(t2-t1)
             }

In contrast, having finally installed the gcc-g++ compiler, The following is gcc code to test disk
writes.For 10,000,000 writes we get the following timing,

5.5 sec on the p4 2.53 ghz and
9.5 sec on the p3 1.0 ghz

I can't get gp2c to work. Maybe someone could create a testpariwrite.exe and send it to me to test on my systems.

// Test the write to disk speed to a wall to wall file.
#include <windows.h>
#include <stdio.h>
#define timer GetTickCount()/1000.0
int main()
{
long x,n;
float t1,t2;
char num[20],fil[20];
 strcpy(fil,"testwritegcc.txt");
FILE *fp1;
printf("%s","num  ");
gets(num);
n=atol(num);
 if((fp1=fopen(fil,"w"))==0)
  {
 fprintf(stderr,"Can't open file %s\n",fil);exit(1);
  }
t1=timer;
for(x=1;x<=n;x++)
{
fprintf(fp1,"%s","12345678901");
}
t2=timer;
printf("%f\n",t2-t1);
getchar();
return 0;
}

Thanks,
Cino Hilliard