From: Jean Louis <bugs@gnu.support>
To: Michael Heerdegen <michael_heerdegen@web.de>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Emacs 30.0 warning from `cl-pushnew' and `memql'
Date: Wed, 28 Dec 2022 23:24:55 +0300 [thread overview]
Message-ID: <Y6ymF3wBSHwEc1Zt@protected.localdomain> (raw)
In-Reply-To: <87ilhveo2s.fsf@web.de>
* Michael Heerdegen <michael_heerdegen@web.de> [2022-12-28 15:01]:
> I think the interpretation of the question "Could there be a better
> default comparison function?", in the sense that `eql' is a bit nicer
> than `eq' for specific value types, is valid, especially when
> considering that `cl-pushnew' is often used for configuration stuff or
> other purposes where speed is not crucial.
Michael, what is the fastest way to add element on stack of the list
elements?
Let us say I am adding only strings, would this be faster than `push':
(setq my-list '())
(setq my-list (cons (quote "Word") my-list))
By the way, how do I go to make this right?
-------------------------------------------
(setq my-list '())
(benchmark 1000 (setq my-list (cons "My string" my-list)))
as it gives error that "My string" is invalid function.
Do I need to do something like:
(benchmark 1000 (prog1 nil
(setq my-list (cons (quote "Word") my-list))))
(benchmark 10000000 (prog1 nil
(setq my-list (cons (quote "Word") my-list)))) ➜ "Elapsed time: 0.823678s"
(benchmark 10000000 (prog1 nil
(push "Word" my-list))) ➜ "Elapsed time: 0.824388s"
So there is no much difference apparently.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
In support of Richard M. Stallman
https://stallmansupport.org/
next prev parent reply other threads:[~2022-12-28 20:24 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-26 20:38 Emacs 30.0 warning from `cl-pushnew' and `memql' Emanuel Berg
2022-12-27 6:56 ` Jean Louis
2022-12-27 10:28 ` Michael Heerdegen
2022-12-27 11:33 ` Emanuel Berg
2022-12-27 11:39 ` Emanuel Berg
2022-12-28 3:23 ` [External] : " Drew Adams
2022-12-28 4:23 ` Emanuel Berg
2022-12-29 22:27 ` Drew Adams
2022-12-30 22:27 ` Emanuel Berg
2022-12-30 6:30 ` tomas
2022-12-28 6:25 ` tomas
2022-12-28 11:59 ` Michael Heerdegen
2022-12-28 12:41 ` tomas
2022-12-28 12:45 ` Emanuel Berg
2022-12-28 13:19 ` Emanuel Berg
2022-12-28 14:54 ` Emanuel Berg
2022-12-29 22:31 ` Stefan Monnier via Users list for the GNU Emacs text editor
2023-01-08 4:18 ` Emanuel Berg
2023-01-08 18:54 ` Andreas Eder
2022-12-28 17:57 ` [External] : " Drew Adams
2022-12-28 18:10 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-28 19:29 ` Emanuel Berg
2022-12-28 19:35 ` Drew Adams
2022-12-28 19:36 ` tomas
2022-12-28 19:24 ` Emanuel Berg
2022-12-28 17:54 ` Drew Adams
2022-12-28 18:05 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-28 19:35 ` Drew Adams
2022-12-29 3:34 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-29 19:06 ` Drew Adams
2022-12-29 19:45 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-29 22:00 ` Drew Adams
2022-12-29 22:25 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-30 7:29 ` Drew Adams
2022-12-30 18:55 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-30 22:55 ` Drew Adams
2022-12-31 0:08 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-31 2:45 ` Drew Adams
2022-12-31 4:53 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-28 19:21 ` Emanuel Berg
2022-12-28 20:24 ` Jean Louis [this message]
2022-12-28 20:56 ` Emanuel Berg
2022-12-28 21:24 ` [External] : " Drew Adams
2022-12-28 22:47 ` Jean Louis
2022-12-28 23:48 ` Emanuel Berg
2022-12-29 6:03 ` tomas
2022-12-29 6:59 ` Emanuel Berg
2022-12-29 7:08 ` Emanuel Berg
2022-12-29 7:19 ` Emanuel Berg
2022-12-29 22:41 ` Drew Adams
2022-12-30 23:03 ` Emanuel Berg
2022-12-30 6:35 ` tomas
2022-12-29 9:18 ` Jean Louis
2022-12-29 10:04 ` Emanuel Berg
2022-12-29 10:12 ` tomas
2022-12-29 10:20 ` Emanuel Berg
2022-12-29 10:26 ` Emanuel Berg
2022-12-29 10:36 ` Michael Heerdegen
2022-12-29 14:47 ` Stefan Monnier via Users list for the GNU Emacs text editor
2022-12-29 10:39 ` Michael Heerdegen
2022-12-28 12:44 ` Emanuel Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y6ymF3wBSHwEc1Zt@protected.localdomain \
--to=bugs@gnu.support \
--cc=help-gnu-emacs@gnu.org \
--cc=michael_heerdegen@web.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).