[fpc-pascal] put data to stdout (fpc vs. gcc)
Henry Vermaak
henry.vermaak at gmail.com
Wed Jun 13 11:10:35 CEST 2007
On 13/06/07, fpc at xgelb.de <fpc at xgelb.de> wrote:
> 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;
>
> --------------
interesting... which version of fpc are you using? how big does n
go? you can use the time util to give us some figures.
henry
More information about the fpc-pascal
mailing list