[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Shrinking the C core
|
From: |
Emanuel Berg |
|
Subject: |
Re: Shrinking the C core |
|
Date: |
Mon, 14 Aug 2023 02:13:32 +0200 |
|
User-agent: |
Gnus/5.13 (Gnus v5.13) |
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
- Re: Shrinking the C core, (continued)
- Re: Shrinking the C core, Emanuel Berg, 2023/08/12
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/12
- Re: Shrinking the C core, Emanuel Berg, 2023/08/12
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/13
- Re: Shrinking the C core, Emanuel Berg, 2023/08/13
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/13
- Re: Shrinking the C core, Emanuel Berg, 2023/08/13
- Re: Shrinking the C core,
Emanuel Berg <=
- Re: Shrinking the C core, tomas, 2023/08/12
- Re: Shrinking the C core, Emanuel Berg, 2023/08/13
- Re: Shrinking the C core, Emanuel Berg, 2023/08/13
- Re: Shrinking the C core, tomas, 2023/08/13
- Re: Shrinking the C core, Emanuel Berg, 2023/08/13
- RE: [External] : Re: Shrinking the C core, Drew Adams, 2023/08/13
- Re: Shrinking the C core, Andreas Schwab, 2023/08/13
- Re: Shrinking the C core, Emanuel Berg, 2023/08/13
- Re: Shrinking the C core, Alfred M. Szmidt, 2023/08/14
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/14