Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 7668 invoked from network); 8 Oct 2005 22:48:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 Oct 2005 22:48:38 -0000 Received: (qmail 71416 invoked by uid 500); 8 Oct 2005 22:48:38 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 71403 invoked by uid 500); 8 Oct 2005 22:48:37 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 71392 invoked by uid 99); 8 Oct 2005 22:48:37 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 08 Oct 2005 15:48:37 -0700 X-ASF-Spam-Status: No, hits=0.9 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_WHOIS,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of lancediduck@nyc.rr.com designates 24.29.109.7 as permitted sender) Received: from [24.29.109.7] (HELO ms-smtp-03.rdc-nyc.rr.com) (24.29.109.7) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 08 Oct 2005 15:48:39 -0700 Received: from LanceLaptop (cpe-66-65-46-64.nyc.res.rr.com [66.65.46.64]) by ms-smtp-03.rdc-nyc.rr.com (8.12.10/8.12.7) with ESMTP id j98MlKMG000254 for ; Sat, 8 Oct 2005 18:47:28 -0400 (EDT) Message-Id: <200510082247.j98MlKMG000254@ms-smtp-03.rdc-nyc.rr.com> From: "Lance Diduck" To: Subject: RE: "Pluggable Memory" Date: Sat, 8 Oct 2005 18:48:10 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook, Build 11.0.5510 In-reply-to: <433DE32C.9070008@roguewave.com> X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Thread-index: AcXGJVhzZq+svk6NQs6Es8Zsgs95iAGMZ/fw X-Virus-Scanned: Symantec AntiVirus Scan Engine X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N The main problem with the allocators is that they tried to do more with memory that the underlying C memory model is capable of. So its main sin is that there is a lot of boilerplate that really cant do anything, which is confusing, and also that the standard put in language that seems to second guess itself, which makes everybody think they are a hack. My company tried these polymorphic allocators in STL containers, and in large part being replaced now with a compile time solution. They are just too hard to test. But private heaps (PluggableMemory) seem to make sense for service architectures, and for very localized calls. I almost exclusively write service architecture "plugin" type things, and often find myself wanting this sort of flexibility. -----Original Message----- From: Martin Sebor [mailto:sebor@roguewave.com] Sent: Friday, September 30, 2005 9:15 PM To: stdcxx-dev@incubator.apache.org Subject: Re: "Pluggable Memory" Martin Sebor wrote: > Lance Diduck wrote: > >> To all: Here is an issue that may impact stdcxx. >> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1850.pdf [...] > I skimmed the paper but I suspect I'll need to re-read it and spend > some time playing with the proposed classes to get a better > understanding of it. I'll try to do that before the end of the month > (i.e., before the October WG21 meeting) and post my feedback here. Okay, I've re-read Pablo's paper and the comp.std.c++ thread (below) and here are my first thoughts: I agree that the allocator model has serious problems and I like some (although not all) aspects of the proposed solution. I have serious reservations about switching from stateless to polymorphic allocators as the default. I also share Howard's concern about the extent of the proposed changes to the library. In addition, intuitively I feel that it should be possible to solve the general problem in a less invasive way. Martin http://groups.google.com/group/comp.std.c++/browse_thread/thread/574518e5c7a 60feb/ffb77430957a71df