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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,ad4585f2971e47c5 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!o20g2000yqk.googlegroups.com!not-for-mail From: jonathan Newsgroups: comp.lang.ada Subject: Re: Need some light on using Ada or not Date: Sun, 20 Feb 2011 07:45:33 -0800 (PST) Organization: http://groups.google.com Message-ID: References: <4d5ef836$0$23753$14726298@news.sunsite.dk> <7ibvl6tn4os3njo3p4kek9kop44nke3n7t@4ax.com> <4d5fd57d$0$6992$9b4e6d93@newsspool4.arcor-online.net> NNTP-Posting-Host: 143.117.23.236 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1298216733 17347 127.0.0.1 (20 Feb 2011 15:45:33 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 20 Feb 2011 15:45:33 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: o20g2000yqk.googlegroups.com; posting-host=143.117.23.236; posting-account=Jzt5lQoAAAB4PhTgRLOPGuTLd_K1LY-C User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.19) Gecko/2010120923 Iceweasel/3.0.6 (Debian-3.0.6-3),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:17488 Date: 2011-02-20T07:45:33-08:00 List-Id: On Feb 20, 2:34=A0pm, Brian Drummond wrote: > I removed virtually the entire body of the program into a single task. > This change alone doubles the "CPU" time. There appears to be a 100% pena= lty > associated simply with running the original program from within a second = task. I noticed that too. As soon as I declare a task, (you don't have to use it for anything) then run-time doubles. So as far as I can tell, anything with gnat tasks (p-threads) has this behavior. The C program that uses p-threads (C#5) has the same behavior. The more successful multicore programs use OpenMP, which uses fibers, or coroutine-like threads. If you want a multi-core Ada version, this might be a good place to break out the Annex E (distributed systems) approach. The shootout runs on Ubuntu (Debian really). Now that polyorb is part of the standard Debian distribution (Squeeze), an Annex E solution based on polyorb might be possible. http://packages.debian.org/sid/polyorb-servers If any tasks are declared on the polyorb side of things, then I would not be surprised if this fails, but otherwise it would be nice to see an Annex E solution in public view. There are other distributed-system candidates, but I don't intend to do much until the benchmark rules are ... clarified. I'll whine more about that in another post. J.