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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,e0e1d3b3f7c994b8 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!postnews.google.com!m44g2000hsc.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Robert Dewar's great article about the Strengths of Ada over other langauges in multiprocessing! Date: Sun, 9 Mar 2008 06:50:04 -0700 (PDT) Organization: http://groups.google.com Message-ID: <426fb20b-2897-4751-9d2f-239221cfb987@m44g2000hsc.googlegroups.com> References: <13t4b2kkjem20f3@corp.supernews.com> <89af8399-94fb-42b3-909d-edf3c98d32e5@n75g2000hsh.googlegroups.com> <47D39DC8.20002@obry.net> NNTP-Posting-Host: 85.3.200.49 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1205070605 5380 127.0.0.1 (9 Mar 2008 13:50:05 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 9 Mar 2008 13:50:05 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: m44g2000hsc.googlegroups.com; posting-host=85.3.200.49; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:20255 Date: 2008-03-09T06:50:04-07:00 List-Id: On 9 Mar, 09:20, Pascal Obry wrote: > > Ada will most likely miss the "multicore revolution", unless it will > > *really* focus on performance - the point is that all this multicore > > hoopla revolves around performance, *exclusively*. > > Probably, that's why C++ code using threading, OpenMP or MPI are just a > mess. It is not a general truth. I've seen C++ programs that are well designed and easy to port (there are portable libraries, actually, so there is nothing to port). I've also seen complete Ada mess with rendezvous and ATC. Actually, Ravenscar forbids some tasking features - there must be a reason for this, right? If you have a good mutithreading *design*, it can be equally easy to express it in Ada as in C++. Especially, if you take only the Ravenscar subset of Ada. > Impossible to maintain because C++ hackers seems to prefer working > hard 6 month for gaining 2% of performance instead of buying a new > computer with more core or adding some node on a cluster. Sorry, but > I've seen that, horrible mess just because hacking C++ code seems fun to > many people. I agree with you. There are many C++ hackers. But there exist also C++ software engineers. > I prefer using Ada, even losing 10% performance initially I've seen 80x (eighty times) penalty when comparing Ada's protected objects with basic usage of mutexes in C++. 80x is not something to be taken lightly. > The cherry on top of the cake is that your application can be ported to > a new architecture without much trouble. I've seen people spending > months porting an application from one machine to another to "tweak" it > as best as possible. A big lost of money when you compare the salary > against the price of a new machine. Especially since now the application > if full of #define and twisted code that make it just unmaintainable. I've seen things like this as well - but there are ways to do it in a much cleaner way. I don't have problems writing well-structured and portable C++ multithreaded software and I'm very much concerned with the performance penalty that is imposed by Ada tasking features when compared to what can be accomplished with C++. -- Maciej Sobczak * www.msobczak.com * www.inspirel.com