From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.devel Subject: Re: Shrinking the C core Date: Mon, 14 Aug 2023 02:13:32 +0200 Message-ID: <87a5uuiiqb.fsf@dataswamp.org> References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87il9owg0f.fsf@yahoo.com> <87fs4pkkqi.fsf@dataswamp.org> <87v8dk3bis.fsf@localhost> <874jl4l0bq.fsf@dataswamp.org> <871qg7l2yb.fsf@localhost> <87pm3ri7vx.fsf@dataswamp.org> <87r0o7fdh1.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13612"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:iQJMF+SshIoWvcxl4iT+CZFkEGM= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 14 04:23:15 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qVNEg-0003JE-F5 for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Aug 2023 04:23:14 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qVNEI-00016w-Q5; Sun, 13 Aug 2023 22:22:50 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVLDc-0002CH-PM for emacs-devel@gnu.org; Sun, 13 Aug 2023 20:14:01 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVLDa-0006yz-Kt for emacs-devel@gnu.org; Sun, 13 Aug 2023 20:14:00 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1qVLDX-0005ok-I9 for emacs-devel@gnu.org; Mon, 14 Aug 2023 02:13:55 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 13 Aug 2023 22:22:49 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:308694 Archived-At: Ihor Radchenko wrote: >> Do we have a set of benchmarks in Elisp that everyone >> agrees are good, and that can output data easily to show >> the results? Didn't you do that with an ASCII table in >> a previous post? >> >> Maybe I can use that source with minimal modifications to >> get them to run in CL, so we can compare more broadly, but >> also in an agreed-upon way. So it will not be about what >> really matters or what people really use etc, it will only >> be about performing as good as possible on those >> benchmarks, without cheating obviously ;) > > See https://elpa.gnu.org/packages/elisp-benchmarks.html > These are the benchmarks we used during the discussion of > native-comp support. Indeed, I see now in comments to my code that I got the my initial fib.el [1] from elisp-benchmarks ... But: 2 benchmarks implemented in CL! [bubble.cl yanked in full last] But this is just a sneak peak, not even a beta release, just thought it could be interesting to see something tangible after all this theorizing ... https://dataswamp.org/~incal/cl/bench/bubble.cl https://dataswamp.org/~incal/cl/bench/fib.cl PS. Same old error message with Slime BTW, every time I start "slime-set-connection-info: Args out of range: 0". But then it seems to work fine. I saw this error message before, don't remember how I solved it then. It is the MELPA slime-20230730.1734, or 2.28 according to `slime-version'. PPS. No C-u M-x slime-version RET BTW ... [1] https://dataswamp.org/~incal/emacs-init/fib.el ;; this file: ;; https://dataswamp.org/~incal/cl/bench/bubble.cl ;; ;; original Elisp source: ;; elisp-benchmarks (load "~/public_html/cl/bench/timing.cl") (let*((bubble-len 1000) (bubble-lst (mapcar #'random (make-list bubble-len :initial-element most-positive-fixnum) ))) (defun bubble (lst) (declare (optimize speed (safety 0) (debug 0))) (let ((i (length lst))) (loop while (< 1 i) do (let ((b lst)) (loop while (cdr b) do (when (< (cadr b) (car b)) (rplaca b (prog1 (cadr b) (rplacd b (cons (car b) (cddr b))) ))) (setq b (cdr b)))) (decf i) ) lst) ) (defun bubble-entry () (loop repeat 100 for l = (copy-list bubble-lst) do (bubble l) )) ) (timing (bubble-entry)) -- underground experts united https://dataswamp.org/~incal