--- Begin Message ---
Subject: |
26.1.90; nhexl-mode performance |
Date: |
Tue, 11 Dec 2018 18:06:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 |
Filing a bug report because of the discussion on
https://emacs.stackexchange.com/questions/46492/how-to-search-for-a-sequence-of-bytes-in-hexl-mode/
nhexl-mode performance is really bad in large files.
Occurred in the files of the Bitcoin blockchain. The beginning of every
block is marked with the byte sequence `f9beb4d9`. Searching for this
byte sequence in nhexl-mode is really slow.
In case you do not have the bitcoin client installed, I uploaded the
first file of the blockchain here (134MB, link will be valid for 30
days):
https://ufile.io/z08bl
Thanks for looking into this.
Guido.
In GNU Emacs 26.1.90 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw
scroll bars)
of 2018-12-01 built on uranus
Repository revision: 7851ae8b443c62a41ea4f4440512aa56cc87b9b7
Windowing system distributor 'The X.Org Foundation
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#33708: 26.1.90; nhexl-mode performance |
Date: |
Fri, 14 Dec 2018 17:52:31 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> - Thanks for fixing this, performance is great now!
Thanks for confirming.
> - Sorry for using that weird site for file sharing, you could have installed
> the bitcoin client (which is MIT licensed) and downloaded the
> blockchain ;-),
I hesitated to do that, indeed.
> what would you use for ad-hoc file sharing?
I'd put it on my web server, not linked from any page.
> - I think there is another minor bug: When the cursor is at the very
> beginning of the buffer and you search for the byte sequence at the very
> beginning of the file, search will jump to the second occurrence. Happens in
> the example of the original bug report.
Yeah, it's a misfeature that I'm not sure how to fix:
When you type `C-s f a`, you first search for `f` and this one is not
treated as a hex-search so it jumps to the first `f` char, so when you
get to type `a` Isearch keeps searching from that `f` rather than
restarting from the beginning of the buffer.
I could change the rule so that `C-s f` already treats `f` as
a hex-search, I guess.
Stefan
--- End Message ---