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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,92a027c293f03acb X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!inka.de!rz.uni-karlsruhe.de!news.uni-stuttgart.de!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Wiktor Moskwa Newsgroups: comp.lang.ada Subject: Re: Workqueues in Ada Date: Tue, 31 Jul 2007 20:54:46 +0000 (UTC) Organization: tp.internet - http://www.tpi.pl/ Message-ID: References: <4rvzewqs9ba3$.pluy1xzoi5lr$.dlg@40tude.net> <16fd0klj7ul1d$.oi8lp7eybgxo$.dlg@40tude.net> <15uu62psl9ppr$.1r30bgl24romy.dlg@40tude.net> <1185810775.660151.21590@w3g2000hsg.googlegroups.com> NNTP-Posting-Host: aafq157.neoplus.adsl.tpnet.pl X-Trace: atlantis.news.tpi.pl 1185915286 8218 83.4.146.157 (31 Jul 2007 20:54:46 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Tue, 31 Jul 2007 20:54:46 +0000 (UTC) User-Agent: slrn/0.9.8.1 (Linux) Xref: g2news2.google.com comp.lang.ada:1298 Date: 2007-07-31T20:54:46+00:00 List-Id: On 30.07.2007, Matthew Heaney wrote: > Yes, the standard list container has such an operation, called > Splice. That operation can be used to solve the problem of allocation > and deallocation, by using a separate list as a free-store for nodes. > I've implemeted work queues as advised using Splice that I didn't notice for the first time (thanks for pointing it). Everything works as its supposed to. No more memory allocations, peformance has increased by around 8% and I could identify other issues. Using standard containers was the easiest solution for me. Just a few thoughts about Jeffrey's and Dmitry's libraries: - PragmARC - it didn't compile with my Ada 2005 program but I liked its bounded lists/queues idea and internal structure was very interesting - Simple Components - idea of "webs of lists" and a possibility to use a custom storage pool seem interesting but I just couldn't tame access types there - Node is Web, List is Node, everything is access, I wasn't able to integrate it with my current code - too difficult at the moment Thanks for all responses everyone! -- Wiktor Moskwa