[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25122: 24.5; function describe-variable hangs on large variables
From: |
Thierry Volpiatto |
Subject: |
bug#25122: 24.5; function describe-variable hangs on large variables |
Date: |
Sat, 11 Mar 2017 20:26:56 +0100 |
User-agent: |
mu4e 0.9.19; emacs 25.1.2 |
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> (cl-letf (((symbol-function 'pp)
>> (lambda (object &optional stream)
>> (let ((fn (lambda (ob &optional stream)
>> (princ (pp-to-string ob)
>> (or stream standard-output))
>> (terpri)))
>> (print-circle t))
>> (if (consp object)
>> (progn
>> (insert "\n(")
>> (mapc fn object)
>> (cl-letf (((point) (1- (point))))
>> (insert ")")))
>> (funcall fn object stream))))))
>
> Hmm... I wonder why this would be faster.
However it is fast, it is anyway better than the actual situation were e.g C-h v
load-history takes minutes in the best case to load the 1.8M help buffer.
With this code it takes around 1s.
> In the past, the implementation of `print-circle` had a poor
> complexity, but we fixed that around Emacs-24, IIRC so it now uses a
> hash-table and should have O(n) complexity, which means that pp
> shouldn't be slower than (mapc #'pp).
The code above run at the same speed with and without print-circle...
--
Thierry
- bug#25122: 24.5; function describe-variable hangs on large variables, (continued)
- bug#25122: 24.5; function describe-variable hangs on large variables, Drew Adams, 2017/03/12
- bug#25122: 24.5; function describe-variable hangs on large variables, Stefan Monnier, 2017/03/12
- bug#25122: 24.5; function describe-variable hangs on large variables, npostavs, 2017/03/12
- bug#25122: 24.5; function describe-variable hangs on large variables, npostavs, 2017/03/13
- bug#25122: 24.5; function describe-variable hangs on large variables, npostavs, 2017/03/13
- bug#25122: 24.5; function describe-variable hangs on large variables, npostavs, 2017/03/15
- bug#25122: 24.5; function describe-variable hangs on large variables, Thierry Volpiatto, 2017/03/11
- bug#25122: 24.5; function describe-variable hangs on large variables, Stefan Monnier, 2017/03/11