HOME


sh-3ll 1.0
DIR:/usr/share/emacs/26.1/lisp/emacs-lisp/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/emacs-lisp/benchmark.elc
;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


#@78 Return the time in seconds elapsed for execution of FORMS.

(fn &rest FORMS)
(defalias 'benchmark-elapse '(macro . #[128 "\300\301!\300\302!\303D\304\305BB\306\304\307BB\310\311\nEDD\"BBB\207" [make-symbol "t1" "t2" let setq ((current-time)) append ((current-time)) float-time time-subtract] 13 (#$ . 408)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put benchmark-elapse lisp-indent-function 0 put edebug-form-spec t] 5)
#@387 Time execution of FORMS.
If REPETITIONS is supplied as a number, run forms that many times,
accounting for the overhead of the resulting loop.  Otherwise run
FORMS once.
Return a list of the total elapsed time for execution, the number of
garbage collections that ran, and the time taken by garbage collection.
See also `benchmark-run-compiled'.

(fn &optional REPETITIONS &rest FORMS)
(defalias 'benchmark-run '(macro . #[384 "\300!\204B\262\301\262\302\303!\302\304!\302\305!\306\307B\310BD\311\301V\203A\312\313\314D\nBBD\313\314	\fDDDE\202E\313B\312\315E\312\316EFE\207" [natnump 1 make-symbol "i" "gcs" "gc" let (gc-elapsed) (gcs-done) list - benchmark-elapse dotimes gcs-done gc-elapsed] 14 (#$ . 867)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put benchmark-run lisp-indent-function 1 put edebug-form-spec t] 5)
#@280 Time execution of compiled version of FORMS.
This is like `benchmark-run', but what is timed is a funcall of the
byte code obtained by wrapping FORMS in a `lambda' and compiling the
result.  The overhead of the `lambda's is accounted for.

(fn &optional REPETITIONS &rest FORMS)
(defalias 'benchmark-run-compiled '(macro . #[384 "\300!\204B\262\301\262\302\303!\302\304!\302\305!\306\307\310BB!\306\311!\312\313B\314BD\315	\301V\203Q\316\317\320\n
D\321	DED\317\320D\321	DEDE\202W\317\321DD\316\322	E\316\323	EFE\207" [natnump 1 make-symbol "i" "gcs" "gc" byte-compile lambda nil (lambda nil) let (gc-elapsed) (gcs-done) list - benchmark-elapse dotimes funcall gcs-done gc-elapsed] 17 (#$ . 1741)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put benchmark-run-compiled lisp-indent-function 1 put edebug-form-spec t] 5)
#@268 Print the time taken for REPETITIONS executions of FORM.
Interactively, REPETITIONS is taken from the prefix arg, and
the command prompts for the form to benchmark.
For non-interactive use see also `benchmark-run' and
`benchmark-run-compiled'.

(fn REPETITIONS FORM)
(defalias 'benchmark #[514 "\300\301E!\211A@\302U\203\303\304@\"\202!\303\305@\3068A@$\207" [eval benchmark-run 0 message "Elapsed time: %fs" "Elapsed time: %fs (%fs in %d GCs)" 2] 8 (#$ . 2613) "p\nxForm: "])
(provide 'benchmark)