From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#40407: [PATCH] slow ENCODE_FILE and DECODE_FILE Date: Sat, 04 Apr 2020 13:26:20 +0300 Message-ID: <83imifv96b.fsf@gnu.org> References: <805F9723-8298-4FD7-A47B-1E683721A5B0@acm.org> <835zegwn9y.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="13788"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 40407@debbugs.gnu.org To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Apr 04 12:27:23 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jKg1I-0003PP-Sx for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 04 Apr 2020 12:27:20 +0200 Original-Received: from localhost ([::1]:37260 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKg1H-0001jV-Vp for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 04 Apr 2020 06:27:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37686) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKg11-0001V0-7a for bug-gnu-emacs@gnu.org; Sat, 04 Apr 2020 06:27:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKg10-0002ZE-8f for bug-gnu-emacs@gnu.org; Sat, 04 Apr 2020 06:27:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60186) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKg10-0002Z8-5F for bug-gnu-emacs@gnu.org; Sat, 04 Apr 2020 06:27:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jKg10-0007N2-2Z for bug-gnu-emacs@gnu.org; Sat, 04 Apr 2020 06:27:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 04 Apr 2020 10:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40407 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 40407-submit@debbugs.gnu.org id=B40407.158599600228261 (code B ref 40407); Sat, 04 Apr 2020 10:27:02 +0000 Original-Received: (at 40407) by debbugs.gnu.org; 4 Apr 2020 10:26:42 +0000 Original-Received: from localhost ([127.0.0.1]:43499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKg0f-0007Lj-V5 for submit@debbugs.gnu.org; Sat, 04 Apr 2020 06:26:42 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:50705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jKg0e-0007L9-AY for 40407@debbugs.gnu.org; Sat, 04 Apr 2020 06:26:40 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:41119) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jKg0X-0001pb-P1; Sat, 04 Apr 2020 06:26:33 -0400 Original-Received: from [176.228.60.248] (port=4133 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jKg0X-0005SM-2H; Sat, 04 Apr 2020 06:26:33 -0400 In-Reply-To: (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Sat, 4 Apr 2020 00:32:21 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:178019 Archived-At: > From: Mattias EngdegÄrd > Date: Sat, 4 Apr 2020 00:32:21 +0200 > Cc: 40407@debbugs.gnu.org > > Since string mutation is so rare, I doubt it has caused any real trouble. Now, do we fix it by inverting the sense of the argument, or by renaming it to COPY? I'm fairly neutral, but there are arguments in either way, both in terms of performance and correctness. And what about internal calls to code_convert_string? > > There are 193 calls to {encode, decode}-coding-string in the Emacs tree, and only 14 of them pass a non-nil value to NOCOPY. I'd be inclined to keep the semantics but rename the argument to COPY, on the grounds that no-copy is a better default; then change those 14 calls to pass nil instead, since that obviously was the intent. After looking at this for some time, I think the problem is rarely if ever seen. The only function which has the NOCOPY sense inverted is code_convert_string, and it only does that when the CODING_SYSTEM argument is nil, which should almost never happen. So I think it's OK to change code_convert_string on master to use NOCOPY in its correct sense.