3 ms·
Here some rough, non-scientific testing/benchmark statistics. It took me 124.98 mins to build the native-comp branch with a 4-cores/8-threads i7-4790k, 32GB RA
by gongyiliao 6y ago
Here some rough, non-scientific testing/benchmark statistics.
It took me 124.98 mins to build the native-comp branch with a 4-cores/8-threads i7-4790k, 32GB RAM on a LXC instance while the master branch took me 244 seconds. Both branches are obtained from latest available git snapshot as 2020-5-4 20:20 CDT.
The following function is passed to (benchmark-run-compiled 10 ...) for each run.
;; -*- lexical-binding: t -*-
(require 'cl-lib)
(defun bf-1 nil
(/
(apply '+
(cl-loop repeat 300000
collect (cl-random 1.0)))
300000.0))
gc-cons-threshold is set as 268435456 (~ 256MB)
Before each run, (garbage-collect) function is called.
With Emacs's built-in core lisp functions, cl-lib functions and the above benchmark function are all native-compiled, it took 0.5823 second to complete.
With Emacs built-ins and cl-lib are native-compiled but the benchmark function is byte-compiled, it takes 0.6411 second to complete.
With byte-compiled Emacs built-in/cl-lib/benchmark functions, it takes 1.3574 second to complete.
With byte-compiled Emacs built-in/cl-lib functions and interpreted benchmark function, it takes 78.054 seconds with 1 GC taking 75.094 second, which implies the execution roughly takes 2.96 seconds.
I also ran same benchmark on a 4-core A10-6800k. and observed similar ratios on the builds from 2020-5-3.