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, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,71b19e01eae3a390 X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: delay until and GNAT - expand Date: 1999/05/11 Message-ID: <7h9qeh$bqr$1@nnrp1.deja.com>#1/1 X-Deja-AN: 476649421 References: <7gpukr$s82$1@nnrp1.dejanews.com> <7grkbb$cee$1@nnrp1.deja.com> <7grvka$lc5$1@nnrp1.deja.com> <7h1e10$drg$1@nnrp1.deja.com> X-Http-Proxy: 1.0 x42.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Share what you know. Learn what you don't. X-Article-Creation-Date: Tue May 11 17:46:57 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-05-11T00:00:00+00:00 List-Id: In article , rracine@draper.com (Roger Racine) wrote: > So why were these issues not debated when the Reference Manual > was being reviewed? What type of metric were the writers > thinking about? Or did they expect an answer like "between > 350 and 3500 clock cycles, depending on your use of the > processor"? > > Roger Racine > It is interesting to post the starting point of this thread: Does someone know the upper bound on the lateness of delay until and delay relative for Gnat implement. on Win95 , WinNT or Linux. Roger maintains that a good real time operating system can get this figure down to one microsecond. This clearly depends on what is meant by "good" ROS. If you mean one which you construct for the purposes of Ada, I think one microsecond is far too long (the RT exec I wrote for Honeywell for an 8080 would do full task switches in a few microsecondes, and I think machines are a *bit* faster now :-) However, I suspect that virtually everyone is running GNAT on systems that are by Roger's definition, not good. In particular, the only quantitative input we have is for VxWorks on a 400MHz Pentium II, with a special patch from WRS to tune up context switching, and this figure is 22 microseconds (it was 70 microseconds before the tuneup). I prefer to deal with what I can actually see today, and what people are actually running, rather than an imagined ideal situation. If Roger can make this situation true, great. One thing that has happened in the Ada world is that virtually no one is working on bare boards any more, everyone wants to run on top of real unixes (we know of serious RT development on top of Sparc Solaris for example), or real time executives like VxWorks. A lot of serious realtime work is also being done on NT. As for what people had in mind in the RM metrics? First these were the product of a realtively small group of people, and I don't think many people paid much attention to them. Indeed all documentation requirements are a bit bogus in a formal standard for a language, since they have to do more with usability, and cannot for example be tested during validation in any meaningful way. Historically, this concern came from a mindset of implementing Ada on a bare board with complete control over the Ada tasking executive, as was common in the Ada 83 world. There were even those who insisted that specific timing constraints be written into the requirements (e.g. RV shall take no more than XXX instructions/cycles etc) That would clearly be absurd in the context of the ISO standard, and the metrics are a kind of compromise position that also does not make a whole lot of sense. At least, speaking as one of the reviewers, that is my view of the metrics requirements in the RM. P.S. Someone should post a delay latency measuring program, it's not that hard to write, and then we can run it on multiple systems and compilers. Of course it does not give the metric, since this is not measurable, but it is still an interesting figure. P.P.S. when I wrote earlier in the thread that Roger was "quite wrong" in suggesting the one microsecond figure, I was really thinking in terms of the original post quoted above, not his claim that he can achieve this in new software. I apologize for this confusion. In fact I think that for a purpose written Ada exec for a reasonable chip, one microsecond is indeed conservative. P.P.P.S. I am not sure that Roger's measurements are meaningful for NT. I would not expect stepi to be able to step into ring 0 kernel stuff so easily, and I suspect that these results may be misleading. Really the only thing that is convincing is to run an Ada test program. --== Sent via Deja.com http://www.deja.com/ ==-- ---Share what you know. Learn what you don't.---