(no subject)

From: tveldhui (tveldhui@extreme.indiana.edu)
Date: Fri Dec 11 1998 - 09:23:38 EST


>From allan@stokes.ca Tue Dec 8 23:47:12 1998
Received: from rainier.extreme.indiana.edu (rainier.extreme.indiana.edu [129.79.253.105])
        by whale.cs.indiana.edu (8.8.7/8.8.7/IUCS_2.20) with ESMTP id XAA21177
        for <tveldhui@whale.cs.indiana.edu>; Tue, 8 Dec 1998 23:47:12 -0500 (EST)
Received: from cbi4.cbi.bc.ca (ns2.cbinetwork.com [209.82.27.8])
        by rainier.extreme.indiana.edu (8.8.7/8.8.7/IUCS_2.20) with ESMTP id XAA11936
        for <tveldhui@extreme.indiana.edu>; Tue, 8 Dec 1998 23:47:12 -0500 (EST)
Received: from p6dnf ([24.64.195.212]) by cbi4.cbi.bc.ca
          (Post.Office MTA v3.5 release 215 ID# 0-52321U700L100S0V35)
          with SMTP id ca for <tveldhui@extreme.indiana.edu>;
          Tue, 8 Dec 1998 20:49:59 -0800
From: "Allan Stokes [cbi]" <allan@stokes.ca>
To: "tveldhui" <tveldhui@extreme.indiana.edu>
Subject: weird bug bypassed
Date: Tue, 8 Dec 1998 20:47:35 -0800
Message-ID: <001c01be232f$0a3f53b0$d4c34018@p6dnf.gvcl1.bc.wave.home.com>
MIME-Version: 1.0
Content-Type: text/plain;
        charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Importance: Normal
In-Reply-To: <199812061733.MAA26045@olympus.extreme.indiana.edu>
Status: OR

Hi Todd,

That problem is definitely an Intel C++ problem. If you add an explicit
declaration of a variable of the type it claims not to be able to construct
in advance of the static declaration, it suddenly "learns" how to build a
default constructor for the object in question.

traversal.cc
<<<
set<TraversalOrder<2> > X; // bogus declaration added which fixes problem

// static template declaration which ICL refuses to accept without preceding
hack
template<int N_dimensions>
_bz_typename TraversalOrderCollection<N_dimensions>::T_set
    TraversalOrderCollection<N_dimensions>::traversals_;
>>>

Most of the benchmark programs in Blitz are set up to use FORTRAN versions
as a baseline. I'm considering spinning some naive (ie. non-template)
versions in the spirit of Stepanov's "abstraction suite" (where he measures
performance loss due to increasingly levels of abstraction such as applying
the STL operator reverse<>) I'm not entirely sure what this would prove.

What are your ideas for improving compilation speed? We once discussed
linear recursion verses logarithmic recursion (where you chop things into a
set of roughly equal parts). Would it improve the compile speed to take
measures which decrease the level of template nesting?

Allan



This archive was generated by hypermail 2b29 : Wed Feb 20 2002 - 04:30:08 EST