Why system gcc that is 4.2.1 produces different code than
gcc-4.2.1 compiled from sources?
Leonidas Tsampros
ltsampros at upnet.gr
Sun Apr 25 18:03:28 UTC 2010
Yuri <yuri at rawbw.com> writes:
> I ran this simple example:
>
> #include <stdlib.h>
> #include <stdio.h>
>
> int fib(int AnArg) {
> if (AnArg <= 2) return (1);
> return (fib(AnArg-1)+fib(AnArg-2));
> }
>
> int main(int argc, char* argv[]) {
> int n = atoi(argv[1]);
> printf("fib(%i)=%i\n", n, fib(n));
> }
>
> through system gcc and gcc built from sources. Both are 4.2.1. Options: -O3.
>
> Average runtime with the argument 45 is quite different: system gcc is
> 3.650s and gcc-4.2.1 from sources is 3.740.
> CPU: Intel(R) Core(TM) i7 CPU @ 9200 @ 2.67GHz
>
Hi,
I'm pretty sure that a small difference in execution time does not mean
that the produced code is different. In order to check the code gcc
produced, you need to do something like this:
objdump -d executable
or even use gdb's disassemble command.
Regards,
Leonidas
> Yuri
More information about the freebsd-questions
mailing list