From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#43016: replace-region-contents takes a lot of time when called from json-pretty-print-buffer Date: Mon, 24 Aug 2020 13:37:39 +0300 Message-ID: <83blj072j0.fsf@gnu.org> References: Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19371"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 43016@debbugs.gnu.org To: ljell , Tassilo Horn Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 24 12:38:10 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 1kA9rd-0004wu-KF for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 24 Aug 2020 12:38:09 +0200 Original-Received: from localhost ([::1]:33036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kA9rc-0001jp-ML for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 24 Aug 2020 06:38:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33252) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kA9rW-0001jV-OR for bug-gnu-emacs@gnu.org; Mon, 24 Aug 2020 06:38:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44632) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kA9rW-0002yl-Ey for bug-gnu-emacs@gnu.org; Mon, 24 Aug 2020 06:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kA9rW-00079J-C9 for bug-gnu-emacs@gnu.org; Mon, 24 Aug 2020 06:38: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: Mon, 24 Aug 2020 10:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43016 X-GNU-PR-Package: emacs Original-Received: via spool by 43016-submit@debbugs.gnu.org id=B43016.159826547627468 (code B ref 43016); Mon, 24 Aug 2020 10:38:02 +0000 Original-Received: (at 43016) by debbugs.gnu.org; 24 Aug 2020 10:37:56 +0000 Original-Received: from localhost ([127.0.0.1]:56178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kA9rQ-00078y-6U for submit@debbugs.gnu.org; Mon, 24 Aug 2020 06:37:56 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:51336) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kA9rO-00078m-5k for 43016@debbugs.gnu.org; Mon, 24 Aug 2020 06:37:54 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:42289) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kA9rI-0002xH-5t; Mon, 24 Aug 2020 06:37:48 -0400 Original-Received: from [176.228.60.248] (port=1577 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kA9rH-00084Z-3t; Mon, 24 Aug 2020 06:37:47 -0400 In-Reply-To: (bug-gnu-emacs@gnu.org) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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:186119 Archived-At: > Date: Mon, 24 Aug 2020 08:25:14 +0000 > From: ljell via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > I have a code which pretty prints data in json: > > ... > (with-temp-buffer > (insert data) > (json-pretty-print-buffer) > (write-file "data.json")) > ... > > This code runs for several minutes (I didn't time it, but it's about 1-2 minutes) with Emacs 27.1 It takes > several seconds with Emacs 26. Data is about 1MB on disk in pretty printed elisp format. > > I tried profiling with this result: > > - progn 7486 98% > - json-pretty-print-buffer 7438 98% > - json-pretty-print 7438 98% > - replace-region-contents 7438 98% > + # 198 2% > + insert 43 0% > + write-file 5 0% > > Apparently, replace-region-contents takes 98% of the CPU time. Thank you for your report and the data. Is it possible to have the file with which you've seen this problem? Tassilo, could you please look into this regression?