From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master 605f901: Prefer memcpy and memset to doing it by hand Date: Fri, 5 Feb 2016 14:40:47 -0800 Organization: UCLA Computer Science Department Message-ID: <56B524EF.7000507@cs.ucla.edu> References: <20160205003917.14369.86929@vcs.savannah.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070403010805090402060606" X-Trace: ger.gmane.org 1454712076 18308 80.91.229.3 (5 Feb 2016 22:41:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 5 Feb 2016 22:41:16 +0000 (UTC) To: Stefan Monnier , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 05 23:41:10 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aRp3t-0000ee-Dk for ged-emacs-devel@m.gmane.org; Fri, 05 Feb 2016 23:41:09 +0100 Original-Received: from localhost ([::1]:50730 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRp3s-0000NU-L2 for ged-emacs-devel@m.gmane.org; Fri, 05 Feb 2016 17:41:08 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRp3e-0000N0-8J for emacs-devel@gnu.org; Fri, 05 Feb 2016 17:40:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRp3b-0003y5-1s for emacs-devel@gnu.org; Fri, 05 Feb 2016 17:40:54 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:47028) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRp3a-0003y1-OU for emacs-devel@gnu.org; Fri, 05 Feb 2016 17:40:50 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id D28C5160D51; Fri, 5 Feb 2016 14:40:48 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id z2xwz0yDgsHt; Fri, 5 Feb 2016 14:40:48 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 325CE160F5D; Fri, 5 Feb 2016 14:40:48 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 98Qy_ToYyqow; Fri, 5 Feb 2016 14:40:48 -0800 (PST) Original-Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 18DC5160D51; Fri, 5 Feb 2016 14:40:48 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 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:199393 Archived-At: This is a multi-part message in MIME format. --------------070403010805090402060606 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 02/05/2016 05:25 AM, Stefan Monnier wrote: > FWIW, I much prefer keeping just the loop, over using this "if+memset" > which seems like an obvious case or too-early-optimization. Fair enough, I didn't measure it and you're probably right that it's not worth the complexity. I changed it to use just the loop, with the attached patch. This patch's commit message documents what I had *originally* put in there in my private copy, something that I fondly hope would have made the hair on the back of your neck stand up. --------------070403010805090402060606 Content-Type: application/x-patch; name="0001-Omit-XLI-init-0-optimization-in-make-vector.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Omit-XLI-init-0-optimization-in-make-vector.patch" RnJvbSA1MzFjNzBmOWFlODk4M2ZlMzkwMDE1YTczY2U5MTczZDhmMWYwMWZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDUgRmViIDIwMTYgMTQ6Mzc6MDkgLTA4MDAKU3ViamVjdDogW1BBVENI XSBPbWl0IFhMSSAoaW5pdCkgPT0gMCBvcHRpbWl6YXRpb24gaW4gbWFrZS12ZWN0b3IKCiog c3JjL2FsbG9jLmMgKEZtYWtlX3ZlY3Rvcik6IFNpbXBsaWZ5IGJ5IG9taXR0aW5nIHRoZSAo WExJIChpbml0KQo9PSAwKSBjYXNlLCBhcyB0aGlzIG9wdGltaXphdGlvbiBpcyBwcm9iYWJs eSBub3Qgd29ydGggdGhlIGhhc3NsZS4KSnVzdCBmb3IgdGhlIHJlY29yZCwgdGhlIHRlc3Qg Zm9yIHRoYXQgY2FzZSBjb3VsZCBoYXZlIGJlZW4KKFhMSSAoaW5pdCkgJSAoKEVNQUNTX1VJ TlQpIC0xIC8gVUNIQVJfTUFYKSA9PSAwKSAoISksCmFzc3VtaW5nIHRoZSB0eXBpY2FsIHBs YXRmb3JtIHdpdGggbm8gcGFkZGluZyBiaXRzIGFuZCB3aGVyZQpjb252ZXJzaW9uIHRvIGlu dCBvbWl0cyB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXRzLgotLS0KIHNyYy9hbGxvYy5jIHwg OSArKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2FsbG9jLmMgYi9zcmMvYWxsb2MuYwppbmRleCAw MzFjNzhjLi45Mjk0NWJjIDEwMDY0NAotLS0gYS9zcmMvYWxsb2MuYworKysgYi9zcmMvYWxs b2MuYwpAQCAtMzMyMSwxNCArMzMyMSw5IEBAIFNlZSBhbHNvIHRoZSBmdW5jdGlvbiBgdmVj dG9yJy4gICovKQogICAoTGlzcF9PYmplY3QgbGVuZ3RoLCBMaXNwX09iamVjdCBpbml0KQog ewogICBDSEVDS19OQVROVU0gKGxlbmd0aCk7Ci0KICAgc3RydWN0IExpc3BfVmVjdG9yICpw ID0gYWxsb2NhdGVfdmVjdG9yIChYRkFTVElOVCAobGVuZ3RoKSk7Ci0gIGlmIChYTEkgKGlu aXQpID09IDApCi0gICAgbWVtc2V0IChwLT5jb250ZW50cywgMCwgWEZBU1RJTlQgKGxlbmd0 aCkgKiBzaXplb2YgcC0+Y29udGVudHNbMF0pOwotICBlbHNlCi0gICAgZm9yIChwdHJkaWZm X3QgaSA9IDA7IGkgPCBYRkFTVElOVCAobGVuZ3RoKTsgaSsrKQotICAgICAgcC0+Y29udGVu dHNbaV0gPSBpbml0OwotCisgIGZvciAocHRyZGlmZl90IGkgPSAwOyBpIDwgWEZBU1RJTlQg KGxlbmd0aCk7IGkrKykKKyAgICBwLT5jb250ZW50c1tpXSA9IGluaXQ7CiAgIHJldHVybiBt YWtlX2xpc3BfcHRyIChwLCBMaXNwX1ZlY3Rvcmxpa2UpOwogfQogCi0tIAoyLjUuMAoK --------------070403010805090402060606--