From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: Aligned blocks management: obsolete? Date: Mon, 12 Dec 2011 12:11:48 +0400 Message-ID: <4EE5B744.1090103@yandex.ru> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030507040600010607010707" X-Trace: dough.gmane.org 1323677495 18117 80.91.229.12 (12 Dec 2011 08:11:35 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 12 Dec 2011 08:11:35 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Dec 12 09:11:30 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ra0yv-0005i3-R9 for ged-emacs-devel@m.gmane.org; Mon, 12 Dec 2011 09:11:29 +0100 Original-Received: from localhost ([::1]:60529 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ra0yu-0004Q0-Sp for ged-emacs-devel@m.gmane.org; Mon, 12 Dec 2011 03:11:28 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:52648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ra0yn-00043q-6L for emacs-devel@gnu.org; Mon, 12 Dec 2011 03:11:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ra0ym-00019S-D4 for emacs-devel@gnu.org; Mon, 12 Dec 2011 03:11:21 -0500 Original-Received: from mail.dev.rtsoft.ru ([213.79.90.226]:57970) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Ra0yl-00019K-SH for emacs-devel@gnu.org; Mon, 12 Dec 2011 03:11:20 -0500 Original-Received: (qmail 10029 invoked from network); 12 Dec 2011 08:11:17 -0000 Original-Received: from unknown (HELO ?192.168.11.122?) (192.168.1.70) by 0 with SMTP; 12 Dec 2011 08:11:17 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111115 Thunderbird/8.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Received-From: 213.79.90.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:146664 Archived-At: This is a multi-part message in MIME format. --------------030507040600010607010707 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Is it still required to maintain the cache of aligned blocks to workaround poor malloc behavior? I believe an attached example should perform well (i.e. allocate ~4K blocks without ~4K holes between them) on top of any non-ancient glibc (no ideas about other system malloc implementations, BTW). Dmitry --------------030507040600010607010707 Content-Type: text/plain; name="aligned-alloc.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="aligned-alloc.c" I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCiNkZWZpbmUgQkxPQ0tT WiA0MDk2CgppbnQKbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogIGludCBpLCBq OwogIHZvaWQgKnA7CgogIC8qIG1ha2Ugc29tZSBjaGFvcyBpbiB0aGUgaGVhcCAqLwogIGZv ciAoaSA9IDA7IGkgPCAxMDAwOyBpKyspCiAgICBmb3IgKGogPSAwOyBqIDwgMTAyNDsgaisr KQogICAgICB7CglwID0gbWFsbG9jIChqKTsKCWlmICgoKGkgKyBqKSAmIDcpID09IDApCgkg IGZyZWUgKHApOwogICAgICB9CgogIC8qIHRlc3QgKi8KICBmb3IgKGkgPSAwOyBpIDwgMTY7 IGkrKykKICAgIGlmICghcG9zaXhfbWVtYWxpZ24gKCZwLCBCTE9DS1NaLCBCTE9DS1NaIC0g c2l6ZW9mIChsb25nKSkpCiAgICAgIHByaW50ZiAoIiVwXG4iLCBwKTsKICBwcmludGYgKCIt LVxuIik7CgogIC8qIG1ha2UgZXZlbiBtb3JlIGNoYW9zIHdpdGggbGFyZ2VyIGNodW5rcyAq LwogIGZvciAoaSA9IDA7IGkgPCAxMDAwOyBpKyspCiAgICB7CiAgICAgIHAgPSBtYWxsb2Mg KGkgKiAxMDAwKTsKICAgICAgaWYgKChpICYgNykgPT0gMCkKCWZyZWUgKHApOwogICAgfQoK ICAvKiB0ZXN0IGFnYWluICovCiAgZm9yIChpID0gMDsgaSA8IDE2OyBpKyspCiAgICBpZiAo IXBvc2l4X21lbWFsaWduICgmcCwgQkxPQ0tTWiwgQkxPQ0tTWiAtIHNpemVvZiAobG9uZykp KQogICAgICBwcmludGYgKCIlcFxuIiwgcCk7CgogIHJldHVybiAwOwp9Cg== --------------030507040600010607010707--