>From 7b82c1efa10b249191be51a9bc001a345b26ce2e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 19 Jan 2019 14:38:52 -0800 Subject: [PATCH] pdumper-stats now returns s, not ms * doc/lispref/internals.texi (pdumper-stats): * src/pdumper.c (pdumper_load): Return seconds, not milliseconds. Minimize rounding errors in the usual case. --- doc/lispref/internals.texi | 2 +- src/pdumper.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 437657f243..06ff9f70bf 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi @@ -232,7 +232,7 @@ Building Emacs @address@hidden((dumped-with-pdumper . t) (load-time . @var{time}) (dump-file-name . @var{file}))}}, where @var{file} is the name of the dump file, and @var{time} is the -time in milliseconds it took to restore the state from the dump file. +time in seconds it took to restore the state from the dump file. If the current session was not restored from a portable dump file, the value is nil. @end defun diff --git a/src/pdumper.c b/src/pdumper.c index 19a21329b1..4bbeabb828 100644 --- a/src/pdumper.c +++ b/src/pdumper.c @@ -5545,9 +5545,10 @@ pdumper_load (const char *dump_filename) struct timespec load_timespec = timespec_sub (current_timespec (), start_time); - dump_private.load_time = - (double) load_timespec.tv_sec * 1000.0 - + (double) load_timespec.tv_nsec * 0.000001; + ALLOW_IMPLICIT_CONVERSION; + double s = load_timespec.tv_sec, ns = load_timespec.tv_nsec; + DISALLOW_IMPLICIT_CONVERSION; + dump_private.load_time = (s * 1e9 + ns) / 1e9; dump_private.dump_filename = dump_filename_copy; dump_filename_copy = NULL; @@ -5569,7 +5570,7 @@ the return value is an alist of the form: ((dumped-with-pdumper . t) (load-time . TIME) (dump-file-name . FILE)) -where TIME is the time in milliseconds it took to restore Emacs state +where TIME is the time in seconds it took to restore Emacs state from the dump file, and FILE is the name of the dump file. Value is nil if this session was not started using a portable dump file.*/) (void) -- 2.17.1