From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12143 invoked by alias); 12 Dec 2012 10:06:38 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 30869 Received: (qmail 28356 invoked from network); 12 Dec 2012 10:06:36 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f4-b7f6d6d000001620-cd-50c854cda673 Date: Wed, 12 Dec 2012 09:56:28 +0000 From: Peter Stephenson To: Zsh Hackers' List Subject: Re: It's time for 5.0.1 Message-id: <20121212095628.66cb27f3@pwslap01u.europe.root.pri> In-reply-to: <121212001411.ZM27450@torch.brasslantern.com> References: <20121206194404.698168c9@pws-pc.ntlworld.com> <121208115416.ZM27266@torch.brasslantern.com> <20121209191005.27a7ba33@pws-pc.ntlworld.com> <121212001411.ZM27450@torch.brasslantern.com> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplluLIzCtJLcpLzFFi42I5/e/4Nd2zIScCDL7NZbY42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGZ2TFzAVbOKsmLTmAFMD4072LkZODgkBE4l1LydA2WISF+6t Z+ti5OIQEljKKDHt1hsoZzmTxNP/D9lAqlgEVCWmfb8GZrMJGEpM3TSbsYuRg0NEQFui/aMY SFhYQEHi07PnYEN5Bewldi56CGZzClhJtB6+ygwx8ySjxK8vM5lAEvwC+hJX/35igrjCXmLm lTOMEM2CEj8m32MBsZkFtCQ2b2tihbDlJTavecs8gVFgFpKyWUjKZiEpW8DIvIpRNLU0uaA4 KT3XUK84Mbe4NC9dLzk/dxMjJAi/7GBcfMzqEKMAB6MSD++Fl8cDhFgTy4orcw8xSnAwK4nw CnqeCBDiTUmsrEotyo8vKs1JLT7EyMTBKdXA2CJ6R8ulmtlqtVnhdRvPvb5sXS8fvo+Pe+ve YGbEGzn18vN5jhlnGBe01EjsPJ92lvEg111voYWHff6v+Wx9xO9y9I1V13Mmq6ouC9ur61aT eZK9RopdoHiCePe/SpbqZ4Jf8jReOn5635k+WYN7acvN/Fc8erW2z6M73b+9us0Xu9+yTzxR iaU4I9FQi7moOBEAyOLFZyACAAA= On Wed, 12 Dec 2012 00:14:11 -0800 Bart Schaefer wrote: > The problem with this is that the better zhalloc() is at filling up > the Heap arenas, the harder freeheap() has to work -- because it ends > up managing a Heapstack for each of a bunch of useless [that is, > full] Heap arenas. At that point it'd be much better if it just > pushed the entire heaps list and started over from scratch. I think this all fits with what I roughly thought was going on. One point about the above is that if we keep the heap size small, 16384 instead of ~ 10 times as much, it's much less wasteful to forget about heapstacks altogether and simply mark the current heap and start a new one when you push. Then you just have the one linked list and everything stays linear. I think wasting something of order 16 kB each time we push (and getting it back when we pop) is probably neither here nor there these days. Given that, so far as I know, actually allocating a new heap isn't a bottlenec, that might be a way forward. I'm not 100% sure what's going on with switch_heaps(), but you might hope it was agnostic about the underlying heap implementation. pws