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 autolearn=unavailable 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!nntp-feed.chiark.greenend.org.uk!ewrotcd!reality.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Generic Embedded List Nodes Date: Wed, 22 Jun 2016 19:37:06 -0500 Organization: JSA Research & Innovation Message-ID: References: <66c14298-c62d-4f4b-b0c0-e969454f9334@googlegroups.com> <4da8ad8e-f6b4-46b3-b81d-b255c030a45c@googlegroups.com> <6100770a-774c-41a7-b1d9-498f80426835@googlegroups.com> NNTP-Posting-Host: rrsoftware.com X-Trace: franka.jacob-sparre.dk 1466642224 23183 24.196.82.226 (23 Jun 2016 00:37:04 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 23 Jun 2016 00:37:04 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:30883 Date: 2016-06-22T19:37:06-05:00 List-Id: "Warren" wrote in message news:6100770a-774c-41a7-b1d9-498f80426835@googlegroups.com... On Monday, 20 June 2016 15:47:12 UTC-4, Shark8 wrote: ... >> Hm, have you tried seeing if any Ada.Containers.* fits your needs? You >> could perhaps >> use Indefinite_Holder to hold your item or Indefinite_Vector to hold the >> entire list. >If you read upstream, I am looking for an _extremely_ high performance set >of operations, requiring only: > > - insert head > - traverse (head to tail only) > - delete from list The bounded containers are designed for the purpose of low-overhead operations; in particular, they don't do allocation/deallocation of memory for individual objects. You ought to check out whether those are high enough performance for your purposes before reinventing the wheel... (especially using the check suppression implemented in the latest GNAT versions). (Most programmers, myself included, are terrible at determining what matters for performance of a particular application. The only way to be sure that something is too slow is to try it...) Randy.