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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: silly ravenscar question Date: Wed, 25 Feb 2015 11:46:11 +0100 Organization: cbb software GmbH Message-ID: References: <8e30f54c-81c4-4861-897c-bb6c563c76e8@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: OpkKbm9QwHUq0Y4SxjI2mw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:25032 Date: 2015-02-25T11:46:11+01:00 List-Id: On Wed, 25 Feb 2015 00:48:42 -0800 (PST), jan.de.kruyf@gmail.com wrote: > On Tuesday, February 24, 2015 at 3:38:17 PM UTC+2, Dmitry A. Kazakov wrote: >> No. Our system deploys full Ada 2005 (e.g. on a BeagleBone). I cannot >> imagine EtherCAT master or the middleware data distribution layer in >> Ravenscar. It is beyond my feeble imagination... > > I think I have a plan for my immediate problem, but if you could let me > see some spec with data volumes and timing restraints, I would be in a > better position to comment. The high end is 8 analogue channels 100µs over the network + hundreds of lower speed channels. Data volumes is not a big problem. E.g. we can sample 8 100µs channels and distribute them over the network without data loss, doing 10ms oversampling. > What I would say though is that Ada has quite a few rather expensive > constructs (timewise) that can be done simpler with little overhead. When > stepping through a new piece of code I have a habit of keeping the > assembly window open. It is quite an education. Well if you have a very small application you could do that. But stepping through TCP or EtherCAT stack is barely possible. So basically we just rely on statistical values. The optimization of Ada code we do frequently is flattening smart pointers. We keep a plain access type together with the controlled smart pointer in critical parts. I suppose that maintaining finalization lists of controlled objects should take much time as well. Probably S in T'Class test could be expensive too. And we try to minimize the number of individual protected actions as much as possible, which may be not an issue for single-core board with non-preemptive scheduling. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de