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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5f0b2f174ad085de X-Google-Attributes: gid103376,public From: mueller@informatik.hu-berlin.de (Frank Mueller) Subject: Re: tasking in Ada and Annex D question Date: 1999/02/03 Message-ID: <79925b$mo7$1@hahn.informatik.hu-berlin.de>#1/1 X-Deja-AN: 440111797 References: <793jl9$hf@drn.newsguy.com> <7963h1$a6h$1@nnrp1.dejanews.com> <797hoc$j3v$1@nnrp1.dejanews.com> <798u7r$b2k$2@plug.news.pipex.net> Organization: Humboldt-Universitaet zu Berlin Newsgroups: comp.lang.ada Originator: mueller@eiche Date: 1999-02-03T00:00:00+00:00 List-Id: OK, one more comment: >So I believe that in Ada95, the >concurrency of tasks is much more important than the performance >of task switches, because tasks are not used that much any more >for time-consuming synchronization (reader/writer buffer tasks, >semaphore tasks, etc.). Well, think again. If you have as many processors as tasks *and* you use protected functions/procedures only *and* your system supports multiprocessing (kernel threads), you may be right. In most realistic case, and any time you use protected entries, you wrong, IMHO. Your tasks will context switch upon synchronization. And the context switching time will have an impact on the performance. For more details, read our SigAda'98 paper: "The Rendezvous is Dead -- Long Live the Protected Object" by D. Macos and F. Mueller in ACM SIGAda'98, Nov 1998, pages 287-293,38 available as postscript on http://www.informatik.hu-berlin.de/~mueller/publications.html The punch line: The rendezvous may not be completely dead but protected objects are preferable where they can be used (and the paper says exactly where). -- Frank Mueller E-Mail: mueller@informatik.hu-berlin.de WWW: http://www.informatik.hu-berlin.de/~mueller