Originally posted by V!NCENT
View Post
Announcement
Collapse
No announcement yet.
Benchmarks Of GCC 4.5.0 Compiler Performance
Collapse
X
-
-
To me basic math skills are at least formula's and function, trigionometry, calculus, probability stuff, matrices, statistics and analysis of it, volumetric objects... and anything in between.
I am sorry that I do not know the english terms as I am not a native speaker.
And oh yeah: Learning a Texas Instruments ti-84...
Comment
-
Originally posted by Xake View PostThis is because much optimization in all code really is to know how to in as few steps as possible do as much as possible. And sometimes that includes knowing things like mathematically what advantages and disadvantages different sort-algorithms has and on what load.
computability and complexity may look like math because there are numbers, you need proof for every statement and the whole thing makes your head spin, but it's not. It's CS.
Comment
-
Originally posted by rohcQaH View Postnot math nerds. It's computer science.
compilers need some linguistics ("how do I parse this stuff?"), a lot of theory of computation (i.e. "prove that these two code snippets produce identical output" and other problems), lots of data structures ("how do I organize the information about the code so it's quick to access and modify, but still easy to handle?", basically the question of picking good IRs), a lot of technics specific to compilers (that have to be invented, implemented and tested) and a whole bunch of other skills. Basic math is included in the latter, but nowhere near a dominant skill.
The science of computing is math. Any CS program worth it's salt will have you doing courses in Discrete and Computational Math.
Comment
-
Originally posted by Smorg View PostYeah I was going to ask the same. GCC 4.4 also needed -floop-interchange -floop-strip-mine -floop-block to enable graphite which I'd suspect would affect benchmarks versus GCC 4.3
This of course makes it very hard to benchmark, and I'd say that using -O3 across all tests is the closest thing to being fair while still keeping it practical. This however means that you miss out on alot of optimizations that has to be manually sepcified, such as lto, graphite etc.
Comment
-
Originally posted by XorEaxEax View PostHave phoronix ever published the actual compiler optimization flags for their benchmarks? Alot of packages also have different default optimization settings, like for instance p7zip defaults to -O0 which makes people wonder why it's so slow. Also, even when using the same -O level across all packages when comparing to previous versions it's worth noting that the optimizations activated in the -Ox levels are not the same across all versions, so one version may require you to manually set an optimization that other versions automatically set at the same -O level.
gcc -march=i686 -O2 -pipe -o out.bin in.c
would actually give the best comparision between compiler versions. Because what optimization -O2 gives is more interesting then what optimizations it actually includes.
Originally posted by XorEaxEax View PostThis of course makes it very hard to benchmark, and I'd say that using -O3 across all tests is the closest thing to being fair while still keeping it practical. This however means that you miss out on alot of optimizations that has to be manually sepcified, such as lto, graphite etc.
Comment
-
Originally posted by stephane View PostMichael L., are you sure to not be affected by this change in your BPE tests?
On x86 targets, code containing floating-point calculations may run significantly slower when compiled with GCC 4.5 in strict C99 conformance mode than they did with earlier GCC versions. This is due to stricter standard conformance of the compiler and can be avoided by using the option -fexcess-precision=fast; also see below. [...]
Comment
-
Originally posted by stephane View PostMichael L., are you sure to not be affected by this change in your BPE tests?
On x86 targets, code containing floating-point calculations may run significantly slower when compiled with GCC 4.5 in strict C99 conformance mode than they did with earlier GCC versions. This is due to stricter standard conformance of the compiler and can be avoided by using the option -fexcess-precision=fast; also see below. [...]
Comment
Comment