GNU bug report logs - #25122
24.5; function describe-variable hangs on large variables

Previous Next

Package: emacs;

Reported by: Boruch Baum <boruch_baum <at> gmx.com>

Date: Tue, 6 Dec 2016 02:21:02 UTC

Severity: minor

Tags: fixed, patch

Merged with 13439, 21717

Found in versions 24.4.50, 24.5

Fixed in version 26.1

Done: npostavs <at> users.sourceforge.net

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
To: npostavs <at> users.sourceforge.net
Cc: 25122 <at> debbugs.gnu.org, Boruch Baum <boruch_baum <at> gmx.com>
Subject: bug#25122: 24.5; function describe-variable hangs on large variables
Date: Sat, 11 Mar 2017 20:34:09 +0100
npostavs <at> users.sourceforge.net writes:

> I've been attempting an alternate approach which prettyprints the object
> while scanning it instead of the current way of printing and then
> reindenting.  Without optimizing, it's about 3 times as fast as the
> current pp (it's the pp-prin1 in the benchmarks below), though more than
> 3 times slower than your mapc pp trick.  On the other hand, it also
> doesn't yet handle function-specific indentation or any compound
> structure apart from lists, so I'm not sure if it will end up being much
> faster.
>
> (benchmark 1 '(with-temp-buffer (pp-prin1 long-list (current-buffer)) nil)) "Elapsed time: 3.391232s (0.565806s in 11 GCs)"
> (benchmark 1 '(progn (pp-to-string long-list) nil))                         "Elapsed time: 9.988515s (0.148034s in 3 GCs)"
> (benchmark 1 '(progn (with-output-to-string (mapc 'pp long-list)) nil))     "Elapsed time: 0.983493s (0.144424s in 3 GCs)"
> (benchmark 1 '(progn (cl-prin1-to-string long-list) nil))                   "Elapsed time: 0.511617s (0.152483s in 3 GCs)"
> (benchmark 1 '(progn (prin1-to-string long-list) nil))                      "Elapsed time: 0.029320s"

Interesting, thanks to work on this.

-- 
Thierry




This bug report was last modified 8 years and 27 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.