public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* New g++ template stress/regression test?
@ 2009-11-06 10:14 Sebastian Mach
  2009-11-06 15:12 ` Dave Korn
  0 siblings, 1 reply; 4+ messages in thread
From: Sebastian Mach @ 2009-11-06 10:14 UTC (permalink / raw)
  To: gcc

I wonder if there would be an interest for a C++ template / compile
time ray tracer as a heavy test for

* templates in general
* the type system
* regression and conformance testing

I have a 95% complete template ray tracer based on fractional math.
One thing e.g. that became evident for me during development is that
performance of lookup or other type system related code degrades
exponentially; such stuff could be tested with it.

I guess the code is also very sensible to conformance.

It is currently based on g++-4.4's support for c++0x (i.e. variadic
templates + strongly typed enums), but I could port it back to 2003.

As said, it is not bugfree as for an error somewhere in the shading or
vector math, but I hereby liked to know if there is generally such an
interest.


Have a great day

Sebastian Mach

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

* Re: New g++ template stress/regression test?
  2009-11-06 10:14 New g++ template stress/regression test? Sebastian Mach
@ 2009-11-06 15:12 ` Dave Korn
       [not found]   ` <7f0369b60911060753l1fcd4be1k79ebcb20b24310a1@mail.gmail.com>
  2009-11-18 20:47   ` Gerald Pfeifer
  0 siblings, 2 replies; 4+ messages in thread
From: Dave Korn @ 2009-11-06 15:12 UTC (permalink / raw)
  To: Sebastian Mach; +Cc: gcc

Sebastian Mach wrote:
> I wonder if there would be an interest for a C++ template / compile
> time ray tracer as a heavy test for
> 
> * templates in general
> * the type system
> * regression and conformance testing

  How big is it?  It might be suitable to go in the contrib/ dir, we already
keep a copy of the paranoia FP tests in there, so your template package and
maybe a testscript to run it and record stats might make a nice little
addition in the same spirit.

    cheers,
      DaveK

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

* Re: New g++ template stress/regression test?
       [not found]     ` <4AF44D10.7010100@gmail.com>
@ 2009-11-06 16:56       ` Sebastian Mach
  0 siblings, 0 replies; 4+ messages in thread
From: Sebastian Mach @ 2009-11-06 16:56 UTC (permalink / raw)
  To: Dave Korn; +Cc: gcc

2009/11/6 Dave Korn <dave.korn.cygwin@googlemail.com>:
>
> [  You should send these emails to the list so that people with maintainer
> rights see the thread - I can't approve contributions myself.  ]

[ facepalm, this is the second time this happens to me, sorry. I will
re-quote for sake of completeness; errors in the following quotes go
at my cost]

>> DaveK wrote:
>>> How big is it?  It might be suitable to go in the contrib/ dir, we already
>>>keep a copy of the paranoia FP tests in there, so your template package and
>>>maybe a testscript to run it and record stats might make a nice little
>>>addition in the same spirit.
>>>
>>>
>Sebastian Mach wrote:
>>Pardon for the inprecise answer (I am relocating at the moment and am
>>posting this from my occupation box), but afair it is somewhere
>>between 1000 or 2000 lines of code, currently it's all in one file,
>>and only invokes standard headers (the output is in ppm format, but
>>arbitrary outputs can be added in a glimpse (like a type-id-name
>>output, e.g.)).
>>
>>Of course the performance is extremely snaily, but I have a small bash
>>script that can utilize all cores and which subdivides the compile
>>into many pieces (as said, performance degrades superlinear w.r.t.
>>type-id count), but still a render of 250x250 pixels took about 26
>>hours. Smaller ones of less than 50x50 can be obtained (as far as I
>>remember) in < 1 hr.
>>
>>

DaveK wrote:
>  It doesn't seem like an excessively large file to me, it's the same scale as
> paranoia.cc; maybe you should just whip it up into a patch and submit it to
> the -patches list.  Add in the script you have, and if you wanted to be really
> comprehensive, include some sample timing runs in the comments showing the
> difference between 4.4 and the (we hope) improvements on HEAD.
>
>    cheers,
>

Many thanks for your help.

So I will see to get that thing ready in the next days (or, who knows,
weeks). Those might be pretty interesting results as for the mentioned
quadratic runtime in 4.4 vs. linear 4.5.

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

* Re: New g++ template stress/regression test?
  2009-11-06 15:12 ` Dave Korn
       [not found]   ` <7f0369b60911060753l1fcd4be1k79ebcb20b24310a1@mail.gmail.com>
@ 2009-11-18 20:47   ` Gerald Pfeifer
  1 sibling, 0 replies; 4+ messages in thread
From: Gerald Pfeifer @ 2009-11-18 20:47 UTC (permalink / raw)
  To: Dave Korn; +Cc: Sebastian Mach, gcc

On Fri, 6 Nov 2009, Dave Korn wrote:
>> I wonder if there would be an interest for a C++ template / compile
>> time ray tracer as a heavy test for
>> 
>> * templates in general
>> * the type system
>> * regression and conformance testing
> How big is it?  It might be suitable to go in the contrib/ dir, we already
> keep a copy of the paranoia FP tests in there, so your template package and
> maybe a testscript to run it and record stats might make a nice little
> addition in the same spirit.

I don't think that's a good idea.  Rather, why not add this to

  http://gcc.gnu.org/testing/

(look for "Build and test guide" there) if it really is a useful test?

Gerald

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

end of thread, other threads:[~2009-11-18 20:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-06 10:14 New g++ template stress/regression test? Sebastian Mach
2009-11-06 15:12 ` Dave Korn
     [not found]   ` <7f0369b60911060753l1fcd4be1k79ebcb20b24310a1@mail.gmail.com>
     [not found]     ` <4AF44D10.7010100@gmail.com>
2009-11-06 16:56       ` Sebastian Mach
2009-11-18 20:47   ` Gerald Pfeifer

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).