From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d89e2d213646aec8 X-Google-Attributes: gid103376,public Path: controlnews3.google.com!news1.google.com!news.glorb.com!tiscali!newsfeed1.ip.tiscali.net!proxad.net!usenet-fr.net!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Marius Amado Alves Newsgroups: comp.lang.ada Subject: Re: Mneson announcement and help request Date: Wed, 02 Jun 2004 04:06:02 +0100 Organization: Cuivre, Argent, Or Message-ID: References: NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1086145553 85179 212.85.156.195 (2 Jun 2004 03:05:53 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Wed, 2 Jun 2004 03:05:53 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en In-Reply-To: X-OriginalArrivalTime: 02 Jun 2004 03:05:42.0208 (UTC) FILETIME=[7D6BC400:01C4484E] X-Virus-Scanned: by amavisd-new-20030616-p7 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: controlnews3.google.com comp.lang.ada:1004 Date: 2004-06-02T04:06:02+01:00 > In general, I hate to see code that uses exceptions for normal control flow > processing. It certainly appears to > me that your code that makes use of the various For_Each_XXX type procedures > uses an exception > raise to terminate the search when "done". Yes, that is a controversial style. Some like it, some don't. Note the planned Ada standard containers are in this style. If it is found to be a performance hitter in Mneson I'll say change it. But my experiments so far have shown no speed loss from there. At least with GNAT. I'm more inclined to earn speed with inlining. But to do that properly reliable profiling is also required. > On compilers that implement zero-cost-exceptions of some sort, the "cost" is > high (or higher) on each > exception occurance. > > On compilers that do not implement it, the presence of an exception handler > causes some overhead. So that's how they do it :-) Yes, we'll have to analyse the algorithms in view of this. I'll be delighted to answer any questions on Mneson design, here or privately. I'll also try to improve the documentation soon, including design items.