[fpc-pascal] put data to stdout (fpc vs. gcc)

fpc at xgelb.de fpc at xgelb.de
Wed Jun 13 10:56:07 CEST 2007


Hi

I wrote two programs one in C and one in Freepascal.

The program read a variable of a library  and write it to stdout. I will put it into a file: ("#: ./dataprog > file.dat").
I use "printf" in the C and "writeln" in  Freepascal.

The problem: The fpc-based program is explicit slower than the c-based program.
My questions:  Why is it so? Is it possible to avoid the problem?


--------------
C source:

for (i=0;i<n;i++) {
  out1=(single) libout1[i];
  out2=(single) libout2[i];
  count+=1;
  printf("%20.0f%15.5f%15.5f\n",count,out1,out2);}

--------------
fpc source:

for i:=0 to n do
begin
  out1:=single(libout1[i]);
  out2:=single(libout2[i]);
  inc(count);
  writeln(stdout, count:20, out1:15:5, out2:15:5);
end;

--------------




More information about the fpc-pascal mailing list