all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#52560: Profiles don't survive roundtrips via files
@ 2021-12-16 18:11 Paul Pogonyshev
  2021-12-19 11:53 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 4+ messages in thread
From: Paul Pogonyshev @ 2021-12-16 18:11 UTC (permalink / raw)
  To: 52560

[-- Attachment #1: Type: text/plain, Size: 830 bytes --]

Emacs 27.2, pretty sure it has existed since forever and still exists.

To reproduce:

M-x profiler-start RET RET
<do whatever for a few seconds>
M-x profiler-stop RET
M-x profiler-report RET

After expanding a few nodes under `command-execute' you should come to
something like `#<subr call-interactively>'.

Now continue:

M-: (profiler-write-profile (profiler-cpu-profile) "/tmp/buggy-elisp.prof")
RET
M-: (profiler-report-profile (profiler-read-profile
"/tmp/buggy-elisp.prof")) RET

Expand the same nodes and observe that nodes with `#<whatever>' under them
no longer match, after file-roundtrip these `#<...>' multiply like crazy.
It seems what's going on is that these things get stored as strings in the
file, and after rereading them into memory, they no longer compare as equal
by profiler calltree-building code.

Paul

[-- Attachment #2: Type: text/html, Size: 1134 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-22 16:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-16 18:11 bug#52560: Profiles don't survive roundtrips via files Paul Pogonyshev
2021-12-19 11:53 ` Lars Ingebrigtsen
     [not found]   ` <CAG7BpapCvb26jEuhPRW7yRDSZs3SnFsNeY=pazqH2jicNs9B6g@mail.gmail.com>
2021-12-22 12:30     ` Lars Ingebrigtsen
2021-12-22 16:03       ` Paul Pogonyshev

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.