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,956e1c708fea1c33 X-Google-Attributes: gid103376,public From: tmoran@bix.com (Tom Moran) Subject: Re: Looking for implementation idea Date: 1999/02/07 Message-ID: <36bded94.1470027@news.pacbell.net>#1/1 X-Deja-AN: 441751253 References: <36BD749B.DA735DB7@umundum.vol.at> X-Complaints-To: abuse@pacbell.net X-Trace: typhoon-sf.pbi.net 918417302 206.170.2.127 (Sun, 07 Feb 1999 11:55:02 PDT) Organization: SBC Internet Services NNTP-Posting-Date: Sun, 07 Feb 1999 11:55:02 PDT Newsgroups: comp.lang.ada Date: 1999-02-07T00:00:00+00:00 List-Id: >Not just in Ada, but generally. IMHO, using tasking will have three >general effects on your system: > 1) It will be more complex > 2) It will be less efficient > 3) It will be less reliable (1) depends on how independent the tasks are. It they need to talk to each other, yes, that can get complex. If each port/socket is essentially independent, and each can be run by a separate task that blocks on IO, the design can be very simple. (2) depends on the frequency of context switches. With the compilers I have tried, on MS Windows, switch times are in the tens of microseconds. If you do that a lot, it's bad, but if you do it once per millisecond, you're only talking a few percent of CPU. (3) depends a lot on (1), complexity. If it's simple, it's easy to design it to be reliable, even if timing dependencies make it hard to test it to be reliable. If it's complex, it's harder to design reliability, and perhaps it is worth cutting down on timing dependencies to simply testing. My $.02