[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testing whether a list contains at least one non-nil element
From: |
Joost Kremers |
Subject: |
Re: Testing whether a list contains at least one non-nil element |
Date: |
Tue, 25 Oct 2022 22:08:29 +0200 |
User-agent: |
mu4e 1.8.3; emacs 28.1.91 |
On Tue, Oct 25 2022, Heime wrote:
> On Tuesday, October 25th, 2022 at 5:25 PM, Joost Kremers
> <joostkremers@fastmail.fm> wrote:
>> (not (seq-every-p #'null mylist))
>
> How does your implementation (not (seq-every-p #'null mylist)) compared to
>
> (elt (delq nil mylist) 0)
Not well, it seems:
```
(setq mylist '(nil nil nil nil nil nil nil nil nil t))
(benchmark 100000 '(elt (delq nil mylist) 0))
"Elapsed time: 0.040299s"
(benchmark 100000 '(not (seq-every-p #'null mylist)))
"Elapsed time: 0.470680s (0.187590s in 1 GCs)"
(setq mylist '(nil t nil nil nil nil nil nil nil nil t))
(benchmark 100000 '(elt (delq nil mylist) 0))
"Elapsed time: 0.035235s"
(benchmark 100000 '(not (seq-every-p #'null mylist)))
"Elapsed time: 0.361699s (0.186059s in 1 GCs)"
```
`elt` and `delq` are both implemented in C, while `seq-every-p` is a generic
function, so I guess those results aren't surprising.
--
Joost Kremers
Life has its moments
- RE: [External] : Re: Testing whether a list contains at least one non-nil element, (continued)
Re: Testing whether a list contains at least one non-nil element, Emanuel Berg, 2022/10/26
Re: Testing whether a list contains at least one non-nil element, Joost Kremers, 2022/10/25
Re: Testing whether a list contains at least one non-nil element,
Joost Kremers <=
Re: Testing whether a list contains at least one non-nil element, Emanuel Berg, 2022/10/26