> You use benchmark incorrectly. Huh? Here is the documentation. benchmark is an interactive native-compiled Lisp function in ‘benchmark.el’. (benchmark REPETITIONS FORM) 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’. FORM can also be a function in which case we measure the time it takes to call it without any argument. Probably introduced at or before Emacs version 22.1. > And you should use benchmark-run instead, anyway. Thanks for that. I'll give it a try. > It takes 16.7 sec on my system. All of my times come from using a $100 Lenovo Chromebook. How much did your machine cost? > Emacs Lisp will never be able to produce performance similar to SBCL, not the way > native compilation implemented in Emacs. Wanna bet? There are too many geniuses working on Emacs to let this chance for 8X pass. Thanks for your reply. My message was inspired by something someone said when I sent in a much simpler demo of the same 8x point, saying that one needed to show the difference on real code. So I have done so, I hope everyone agrees. Who is more famous than Eratosthenese? Bob 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. >