benchmark-run-compiled reported the same sorry time to *Messages* on: (progn (emacs-lisp-native-compile-and-load) (benchmark-run-compiled (build-sieve (expt 10 8)))) (68.42455689 1 1.1884078129999995) On Thu, Feb 29, 2024 at 2:11 PM Eli Zaretskii wrote: > > From: Robert Boyer > > Date: Thu, 29 Feb 2024 13:40:14 -0600 > > > > Consider this form: > > > > (progn (emacs-lisp-native-compile-and-load) (benchmark (build-sieve > (expt 10 8)) 1)) > > > > First of all, 'benchmark' has an obvious bug because it reports a time of > > .000005 seconds. > > You use benchmark incorrectly. And you should use benchmark-run > instead, anyway. > > > After finding the file eratosthenese.el, the evaluation of the form above > > takes 69 seconds in Emacs. > > > > After entering SBCL and loading eratosthenese.lisp, (build-sieve (expt > 10 8)) > > takes 8 seconds. > > It takes 16.7 sec on my system. > > I see no bug here, native-compiled Emacs Lisp will never be able to > produce performance similar to SBCL, not the way native compilation is > implemented in Emacs. >