[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is Elisp really that slow?
From: |
Emanuel Berg |
Subject: |
Re: Is Elisp really that slow? |
Date: |
Mon, 13 May 2019 16:23:06 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Stefan Monnier wrote:
>> can this be sped up?
>>
>> (while (re-search-forward from nil t)
>> (replace-match to t))
>
> That's a perfect example where no matter how
> many man-years you invest into a super-duper
> fancy compiler for Elisp, the above code will
> not be affected one bit, because all the time
> is normally spent within `re-search-forward`
> and `replace-match` which are already
> implemented in C.
How about this [code last]? I just wrote it.
Comments on code also welcome, as always, but
then perhaps a subject change is called for so
not to enrage anyone for being "OT" (...?).
The goal was
- case sensitive regexp search
- interactively, whole buffer if not
region, otherwise region
- from Lisp, whole buffer, if no optional
args delimiting
What in particular will slow it down save for
the same old regexp matcher?
And how do you know what is slow and what
is fast?
And should you really think about that when you
write Elisp?
Anyway:
(defun case-sensitive-regexp-search-and-replace (regexp to-string &optional
start stop)
(interactive
`(,(read-from-minibuffer "regexp: ")
,(read-from-minibuffer "replace: ")
,@(if (use-region-p) (list (region-beginning) (region-end))
(list (point-min) (point-max))) ))
(save-excursion
(let ((beg (or start (point-min)))
(end (or stop (point-max))) )
(goto-char beg)
(let ((case-fold-search nil))
(while (re-search-forward regexp end t)
(replace-match to-string) )))))
(defalias 'cs-replace #'case-sensitive-regexp-search-and-replace)
File: https://dataswamp.org/~incal/emacs-init/edit.el
--
underground experts united
http://user.it.uu.se/~embe8573
- Re: Is Elisp really that slow?, (continued)
- Re: Is Elisp really that slow?, Stefan Monnier, 2019/05/12
- Re: Is Elisp really that slow?, Óscar Fuentes, 2019/05/12
- Re: Is Elisp really that slow?, Stefan Monnier, 2019/05/14
- Re: Is Elisp really that slow?, Óscar Fuentes, 2019/05/14
- Re: Is Elisp really that slow?, Samuel Wales, 2019/05/12
- Re: Is Elisp really that slow?, Stefan Monnier, 2019/05/13
- Re: Is Elisp really that slow?,
Emanuel Berg <=
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/13
- Re: Is Elisp really that slow?, tomas, 2019/05/14
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/14
- Re: Is Elisp really that slow?, tomas, 2019/05/14
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/15
- Re: Is Elisp really that slow?, tomas, 2019/05/15
- Re: Is Elisp really that slow?, Emanuel Berg, 2019/05/15
- Re: Is Elisp really that slow?, tomas, 2019/05/16
- Re: Is Elisp really that slow?, Noam Postavsky, 2019/05/16
- Re: Is Elisp really that slow?, tomas, 2019/05/16