public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* povray: a benchmark with mainline, tree-ssa, and icc
@ 2004-01-17 20:02 Scott Robert Ladd
  2004-01-17 20:09 ` Andrew Pinski
  2004-01-17 20:10 ` Daniel Berlin
  0 siblings, 2 replies; 9+ messages in thread
From: Scott Robert Ladd @ 2004-01-17 20:02 UTC (permalink / raw)
  To: gcc mailing list

Hello.

Given some questions posed in the "Contributing tree-ssa to mainline" 
thread, I decided to run a little benchmark.

The target of the benchmark is povray, a well-known ray-tracing program 
that is also getting some heavy use in my household at the moment. I 
pulled fresh source code for version 3.50c from their web site at 
http://www.povray.org. I used the official povray "benchmark.pov" with 
the settings in "benchmark.ini".

I ran these tests on a 2.8GHz Pentium 4 (Northwood) with 512MB RAM, 
under Linux 2.6.0, using mainline and tree-ssa code pulled form CVS mere 
hours ago. I also included results for Intel C++ 8.0, as a matter of 
comparison.

All times are in minutes:seconds, as reported by povray's internal 
timer. Switches used were:

gcc: -O3 -march=pentium4 --finline-functions
      -ffast-math -fomit-frame-pointer -funroll-loops
      -fexpensive-optimizations -malign-double
      -foptimize-sibling-calls -minline-all-stringops
      -Wno-multichar

icc: -O3 -xN -tpp7 -ipo

The GCC switches are the default defined by povray, with the exception 
of my changing the -march switch to specify the Pentium 4. I chose the 
ICC switches myself.

A drum-roll, please.

                compile  benchmark
                 time      time
               --------  ---------
gcc mainline    1:43      7:59
gcc tree-ssa    2:40      7:24
icc 8.0         1:53      5:50


I don't find these numbers comforting.

Tree-ssa is substantially slower at compiling than mainline, although it 
does produce slightly faster code.

The ICC numbers speak for themselves. Yes, I verified the output as correct.

CAVEAT: This is only *one* platform, albeit a popular one, and only one 
benchmark. I'm going to run a full set of tests in the next few days, 
all on real world code.

Is povray a good benchmark? I think so, at least in terms of the kind of 
work I do, which is mostly number crunching.

Some anecdotal observations: On a DSP application for one of my clients, 
ICC is consistently 20% faster than GCC; tree-ssa offers a 5% 
improvement over mainline. Alas, the application is under NDA, so I 
can't provide more details. I do know that, with a very few exceptions, 
the povray numbers above reflect the relative performance of these 
compilers on my projects.

I realize some people do not see ICC as a valid competitor... however, I 
don't see why GCC can't at least approach ICC's level of performance.

At this point, tree-ssa is a marginal improvement over mainline in code 
quality, and a significant regression in terms of compile speed. Those 
who know tree-ssa may have some insight into whether or not more 
optimization can be squeezed out while also improving compile time.

..Scott

-- 
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:02 povray: a benchmark with mainline, tree-ssa, and icc Scott Robert Ladd
@ 2004-01-17 20:09 ` Andrew Pinski
  2004-01-17 20:18   ` Scott Robert Ladd
  2004-01-17 20:10 ` Daniel Berlin
  1 sibling, 1 reply; 9+ messages in thread
From: Andrew Pinski @ 2004-01-17 20:09 UTC (permalink / raw)
  To: Scott Robert Ladd; +Cc: Andrew Pinski, gcc mailing list


On Jan 17, 2004, at 12:01, Scott Robert Ladd wrote:
> A drum-roll, please.
>
>                compile  benchmark
>                 time      time
>               --------  ---------
> gcc mainline    1:43      7:59
> gcc tree-ssa    2:40      7:24
> icc 8.0         1:53      5:50
>
>
> I don't find these numbers comforting.
>
> Tree-ssa is substantially slower at compiling than mainline, although 
> it does produce slightly faster code.


Well you did not do a fare comparison for compile time at all unless 
you configured without checking turned on.  The tree-ssa does more 
checking than what the mainline or ICC does.


Thanks,
Andrew Pinski

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:02 povray: a benchmark with mainline, tree-ssa, and icc Scott Robert Ladd
  2004-01-17 20:09 ` Andrew Pinski
@ 2004-01-17 20:10 ` Daniel Berlin
  2004-01-17 20:13   ` Daniel Berlin
  1 sibling, 1 reply; 9+ messages in thread
From: Daniel Berlin @ 2004-01-17 20:10 UTC (permalink / raw)
  To: Scott Robert Ladd; +Cc: gcc mailing list


On Jan 17, 2004, at 3:01 PM, Scott Robert Ladd wrote:

> Hello.
>
> Given some questions posed in the "Contributing tree-ssa to mainline" 
> thread, I decided to run a little benchmark.
>
> The target of the benchmark is povray, a well-known ray-tracing 
> program that is also getting some heavy use in my household at the 
> moment. I pulled fresh source code for version 3.50c from their web 
> site at http://www.povray.org. I used the official povray 
> "benchmark.pov" with the settings in "benchmark.ini".
>
> I ran these tests on a 2.8GHz Pentium 4 (Northwood) with 512MB RAM, 
> under Linux 2.6.0, using mainline and tree-ssa code pulled form CVS 
> mere hours ago. I also included results for Intel C++ 8.0, as a matter 
> of comparison.

>
> All times are in minutes:seconds, as reported by povray's internal 
> timer. Switches used were:
>
> gcc: -O3 -march=pentium4 --finline-functions
>      -ffast-math -fomit-frame-pointer -funroll-loops
>      -fexpensive-optimizations -malign-double
>      -foptimize-sibling-calls -minline-all-stringops
>      -Wno-multichar
>
> icc: -O3 -xN -tpp7 -ipo
>
> The GCC switches are the default defined by povray, with the exception 
> of my changing the -march switch to specify the Pentium 4. I chose the 
> ICC switches myself.
>
> A drum-roll, please.
>
>                compile  benchmark
>                 time      time
>               --------  ---------
> gcc mainline    1:43      7:59
> gcc tree-ssa    2:40      7:24

This is a pretty surprising number.
Are you sure you disabled checking?
tree-ssa does a lot more checking than the mainline does, so with 
checking on, it will be significantly slower in some cases.
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:10 ` Daniel Berlin
@ 2004-01-17 20:13   ` Daniel Berlin
  2004-01-17 20:21     ` Scott Robert Ladd
  0 siblings, 1 reply; 9+ messages in thread
From: Daniel Berlin @ 2004-01-17 20:13 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Scott Robert Ladd, gcc mailing list

>>                compile  benchmark
>>                 time      time
>>               --------  ---------
>> gcc mainline    1:43      7:59
>> gcc tree-ssa    2:40      7:24
>
> This is a pretty surprising number.
> Are you sure you disabled checking?
> tree-ssa does a lot more checking than the mainline does, so with 
> checking on, it will be significantly slower in some cases.

I should also note that the benchmark time is ~6% *faster*.
6% is not insignificant.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:09 ` Andrew Pinski
@ 2004-01-17 20:18   ` Scott Robert Ladd
  2004-01-17 20:19     ` Zack Winkles
                       ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Scott Robert Ladd @ 2004-01-17 20:18 UTC (permalink / raw)
  To: Andrew Pinski; +Cc: gcc mailing list

Andrew Pinski wrote:
> Well you did not do a fare comparison for compile time at all unless you 
> configured without checking turned on.  The tree-ssa does more checking 
> than what the mainline or ICC does.

Then please illuminate me as to the proper option to turn off this extra 
checking.


-- 
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:18   ` Scott Robert Ladd
@ 2004-01-17 20:19     ` Zack Winkles
  2004-01-17 20:20     ` Jan Hubicka
  2004-01-17 20:36     ` Diego Novillo
  2 siblings, 0 replies; 9+ messages in thread
From: Zack Winkles @ 2004-01-17 20:19 UTC (permalink / raw)
  To: gcc

Scott Robert Ladd <coyote@coyotegulch.com> said:
> Andrew Pinski wrote:
> > Well you did not do a fare comparison for compile time at all unless
> > you configured without checking turned on.  The tree-ssa does more
> > checking than what the mainline or ICC does.
> 
> Then please illuminate me as to the proper option to turn off this
> extra checking.

--disable-checking

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:18   ` Scott Robert Ladd
  2004-01-17 20:19     ` Zack Winkles
@ 2004-01-17 20:20     ` Jan Hubicka
  2004-01-17 20:36     ` Diego Novillo
  2 siblings, 0 replies; 9+ messages in thread
From: Jan Hubicka @ 2004-01-17 20:20 UTC (permalink / raw)
  To: Scott Robert Ladd; +Cc: Andrew Pinski, gcc mailing list

> Andrew Pinski wrote:
> >Well you did not do a fare comparison for compile time at all unless you 
> >configured without checking turned on.  The tree-ssa does more checking 
> >than what the mainline or ICC does.
> 
> Then please illuminate me as to the proper option to turn off this extra 
> checking.

You need to recompile compiler with --disable-checking passed to
configure script.

Honza
> 
> 
> -- 
> Scott Robert Ladd
> Coyote Gulch Productions (http://www.coyotegulch.com)
> Software Invention for High-Performance Computing
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:13   ` Daniel Berlin
@ 2004-01-17 20:21     ` Scott Robert Ladd
  0 siblings, 0 replies; 9+ messages in thread
From: Scott Robert Ladd @ 2004-01-17 20:21 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: gcc mailing list

Daniel Berlin wrote:
SRL>                compile  benchmark
SRL>                 time      time
SRL>               --------  ---------
SRL> gcc mainline    1:43      7:59
SRL> gcc tree-ssa    2:40      7:24

> I should also note that the benchmark time is ~6% *faster*.
> 6% is not insignificant.

I pointed this out in my original post: In general, tree-ssa produces 
code that is 5% faster than does mainline. And I certainly consider that 
to be a valid benefit of tree-ssa.


-- 
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: povray: a benchmark with mainline, tree-ssa, and icc
  2004-01-17 20:18   ` Scott Robert Ladd
  2004-01-17 20:19     ` Zack Winkles
  2004-01-17 20:20     ` Jan Hubicka
@ 2004-01-17 20:36     ` Diego Novillo
  2 siblings, 0 replies; 9+ messages in thread
From: Diego Novillo @ 2004-01-17 20:36 UTC (permalink / raw)
  To: Scott Robert Ladd; +Cc: Andrew Pinski, gcc mailing list

On Sat, 2004-01-17 at 15:17, Scott Robert Ladd wrote:
> Andrew Pinski wrote:
> > Well you did not do a fare comparison for compile time at all unless you 
> > configured without checking turned on.  The tree-ssa does more checking 
> > than what the mainline or ICC does.
> 
> Then please illuminate me as to the proper option to turn off this extra 
> checking.
> 
Scott, starting tomorrow the yum repository with x86 tree-ssa binaries
will be built with checking disabled (see the project's page at
http://gcc.gnu.org/projects/tree-ssa/).

To build your own, use --disable-checking when configuring the compiler.


Diego.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-01-17 20:36 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-17 20:02 povray: a benchmark with mainline, tree-ssa, and icc Scott Robert Ladd
2004-01-17 20:09 ` Andrew Pinski
2004-01-17 20:18   ` Scott Robert Ladd
2004-01-17 20:19     ` Zack Winkles
2004-01-17 20:20     ` Jan Hubicka
2004-01-17 20:36     ` Diego Novillo
2004-01-17 20:10 ` Daniel Berlin
2004-01-17 20:13   ` Daniel Berlin
2004-01-17 20:21     ` Scott Robert Ladd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).