From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Lars Ingebrigtsen <larsi@gnus.org>
Newsgroups: gmane.emacs.bugs
Subject: bug#36566: 27.0.50; debug is sometimes horribly slow
Date: Sat, 14 May 2022 17:45:01 +0200
Message-ID: <87lev4jeyq.fsf@gnus.org>
References: <87r26yvb4r.fsf@web.de> <871ryy2l1t.fsf@gmail.com>
 <87r26xjyon.fsf@web.de> <877e8llbzo.fsf@runbox.com>
 <8736ilaepu.fsf@runbox.com> <87h871u24i.fsf@gmail.com>
 <874l2vcrtn.fsf@runbox.com> <874l2eosa7.fsf@gmail.com>
 <87mufh8jj2.fsf@runbox.com> <87v9tza6gg.fsf@gmail.com>
 <875zlvj453.fsf@runbox.com> <87bkwp2pjr.fsf@gnus.org>
 <87a6c72v1t.fsf@runbox.com> <87k0bb16jc.fsf@web.de>
 <874k2ed828.fsf@gnus.org> <875ym931t9.fsf@runbox.com>
 <87mtfl1kxt.fsf@gnus.org> <87h75s3gx8.fsf@web.de>
 <87pmkgl52s.fsf@gnus.org> <jwvk0aofcs4.fsf-monnier+emacs@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="8755"; mail-complaints-to="usenet@ciao.gmane.io"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
Cc: Michael Heerdegen <michael_heerdegen@web.de>,
 Gemini Lasswell <gazally@runbox.com>, 36566@debbugs.gnu.org,
 Noam Postavsky <npostavs@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 14 17:46:37 2022
Return-path: <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
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 <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1nptyV-000203-41
	for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 14 May 2022 17:46:35 +0200
Original-Received: from localhost ([::1]:45116 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>)
	id 1nptyT-0004u5-Ir
	for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 14 May 2022 11:46:33 -0400
Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50864)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1nptxz-0004tk-OG
 for bug-gnu-emacs@gnu.org; Sat, 14 May 2022 11:46:03 -0400
Original-Received: from debbugs.gnu.org ([209.51.188.43]:53421)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1nptxz-0001ad-DY
 for bug-gnu-emacs@gnu.org; Sat, 14 May 2022 11:46:03 -0400
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nptxz-0003lc-Bg
 for bug-gnu-emacs@gnu.org; Sat, 14 May 2022 11:46:03 -0400
X-Loop: help-debbugs@gnu.org
Resent-From: Lars Ingebrigtsen <larsi@gnus.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Sat, 14 May 2022 15:46:03 +0000
Resent-Message-ID: <handler.36566.B36566.165254311311375@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 36566
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: moreinfo
Original-Received: via spool by 36566-submit@debbugs.gnu.org id=B36566.165254311311375
 (code B ref 36566); Sat, 14 May 2022 15:46:03 +0000
Original-Received: (at 36566) by debbugs.gnu.org; 14 May 2022 15:45:13 +0000
Original-Received: from localhost ([127.0.0.1]:47313 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1nptxB-0002x2-Ck
 for submit@debbugs.gnu.org; Sat, 14 May 2022 11:45:13 -0400
Original-Received: from quimby.gnus.org ([95.216.78.240]:50392)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@gnus.org>) id 1nptxA-0002qK-9q
 for 36566@debbugs.gnu.org; Sat, 14 May 2022 11:45:12 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=rX4Nbr+VMvxV2MF9r+lPc7YN0PXwlFHHqli1GQqw+ic=; b=hHq83fB5u8lujJTU1C5qKoeR/Q
 nJcTqMkvw1je6arRbG49lq4UfGyomPi1N8aNiKitLV+s14CUMQdxCj/poIQxarpc7QMHofti68Aju
 KoR6FMgSCg6wY4dH08Z3DEfhy3KLm78Wuf6ToNCCtMxOwxlN/oX+wUhtSzUTsmRC5o2M=;
Original-Received: from [84.212.220.105] (helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@gnus.org>)
 id 1nptwz-0005g0-Um; Sat, 14 May 2022 17:45:04 +0200
In-Reply-To: <jwvk0aofcs4.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message
 of "Sat, 14 May 2022 09:52:32 -0400")
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" <bug-gnu-emacs.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/bug-gnu-emacs>
List-Post: <mailto:bug-gnu-emacs@gnu.org>
List-Help: <mailto:bug-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-gnu-emacs>,
 <mailto:bug-gnu-emacs-request@gnu.org?subject=subscribe>
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Original-Sender: "bug-gnu-emacs"
 <bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org>
Xref: news.gmane.io gmane.emacs.bugs:232247
Archived-At: <http://permalink.gmane.org/gmane.emacs.bugs/232247>

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> How 'bout using a `print-char-length` limit after which we truncate?
> The truncation could "respect trees" in the sense that we'd truncate
>
>     (((a b c) (d e f) (g h k)))
>
> to something like
>
>     (((a b c) (d e ...) ...))
>
> rather than to
>
>     (((a b c) (d e ...
>
> if the `print-char-length` is 14.
>
> I suspect that with such a limit we should eliminate "all" performance
> issues, because printing should then have a complexity
> O(print-char-length) rather than O(sizeof(object)), except for the
> `print--preprocess` part which would still be O(sizeof(object)), but
> since that one is all written in C (and performs a lot less work) the
> constant is such much lower that it rarely dominates.

Hm...  that sounds really attractive, I think.  I'm trying to think of
any circumstances I'd rather see the current print-length algo instead
of this one, and I'm coming up blank.  =F0=9F=98=80

The only issue is "oh no, not yet another printing variable" (that
people will be setting to 14 in ~/.emacs and then everything that does
`prin1' to write out data will fail).

I did suggest (in conjunction with another bug report in this area) that
we should just extend `prin1{,-to-string}' with a parameter that would
set (on the C level) an equivalent variable.  So we'd have
(prin1 object fun `((char-length . ,edebug-print-char-length)))
etc.  (And `t' would be "all defaults".)

Perhaps I should just implement that stuff first.

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no