[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf d526ea8 257/310: Apply and restore batch size in mo
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf d526ea8 257/310: Apply and restore batch size in more cases. |
Date: |
Sat, 28 Nov 2020 00:33:27 -0500 (EST) |
branch: externals/vlf
commit d526ea8ef8e1b1c62b33e890e23fe145ad488e27
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Apply and restore batch size in more cases.
---
vlf-occur.el | 47 ++++++++++++++++++++++++++---------------------
vlf-search.el | 14 ++++++--------
vlf-tune.el | 6 ++++--
vlf.el | 27 +++++++++++++++------------
4 files changed, 51 insertions(+), 43 deletions(-)
diff --git a/vlf-occur.el b/vlf-occur.el
index 2227673..5e53cfb 100644
--- a/vlf-occur.el
+++ b/vlf-occur.el
@@ -161,28 +161,31 @@ Prematurely ending indexing will still show what's found
so far."
buffer-undo-list t)
(set-buffer-modified-p nil)
(set (make-local-variable 'vlf-batch-size) batch-size)
- (setq vlf-tune-insert-bps insert-bps
- vlf-tune-encode-bps encode-bps)
- (if is-hexl
- (progn (setq vlf-tune-hexl-bps hexl-bps
- vlf-tune-dehexlify-bps dehexlify-bps)
- (vlf-tune-batch '(:hexl :dehexlify :insert :encode)))
- (vlf-tune-batch '(:insert :encode)))
+ (when vlf-tune-enabled
+ (setq vlf-tune-insert-bps insert-bps
+ vlf-tune-encode-bps encode-bps)
+ (if is-hexl
+ (progn (setq vlf-tune-hexl-bps hexl-bps
+ vlf-tune-dehexlify-bps dehexlify-bps)
+ (vlf-tune-batch '(:hexl :dehexlify :insert :encode)))
+ (vlf-tune-batch '(:insert :encode))))
(vlf-mode 1)
(if is-hexl (vlf-tune-hexlify))
(goto-char (point-min))
(vlf-with-undo-disabled
(vlf-build-occur regexp vlf-buffer))
- (setq insert-bps vlf-tune-insert-bps
- encode-bps vlf-tune-encode-bps)
+ (when vlf-tune-enabled
+ (setq insert-bps vlf-tune-insert-bps
+ encode-bps vlf-tune-encode-bps)
+ (if is-hexl
+ (setq insert-bps vlf-tune-insert-bps
+ encode-bps vlf-tune-encode-bps))))
+ (when vlf-tune-enabled ;merge back tune measurements
+ (setq vlf-tune-insert-bps insert-bps
+ vlf-tune-encode-bps encode-bps)
(if is-hexl
- (setq insert-bps vlf-tune-insert-bps
- encode-bps vlf-tune-encode-bps)))
- (setq vlf-tune-insert-bps insert-bps
- vlf-tune-encode-bps encode-bps)
- (if is-hexl
- (setq vlf-tune-insert-bps insert-bps
- vlf-tune-encode-bps encode-bps))))
+ (setq vlf-tune-insert-bps insert-bps
+ vlf-tune-encode-bps encode-bps)))))
(defun vlf-occur (regexp)
"Make whole file occur style index for REGEXP.
@@ -196,16 +199,18 @@ Prematurely ending indexing will still show what's found
so far."
(vlf-occur-other-buffer regexp)
(let ((start-pos vlf-start-pos)
(end-pos vlf-end-pos)
- (pos (point)))
- (if (derived-mode-p 'hexl-mode)
- (vlf-tune-batch '(:hexl :dehexlify :insert :encode))
- (vlf-tune-batch '(:insert :encode)))
+ (pos (point))
+ (batch-size vlf-batch-size))
+ (vlf-tune-batch (if (derived-mode-p 'hexl-mode)
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(vlf-with-undo-disabled
(vlf-move-to-batch 0)
(goto-char (point-min))
(unwind-protect (vlf-build-occur regexp (current-buffer))
(vlf-move-to-chunk start-pos end-pos)
- (goto-char pos)))))
+ (goto-char pos)))
+ (setq vlf-batch-size batch-size)))
(run-hook-with-args 'vlf-after-batch-functions 'occur))
(defun vlf-build-occur (regexp vlf-buffer)
diff --git a/vlf-search.el b/vlf-search.el
index 36e8022..7b2f02b 100644
--- a/vlf-search.el
+++ b/vlf-search.el
@@ -234,10 +234,9 @@ Search is performed chunk by chunk in `vlf-batch-size'
memory."
(+ start vlf-batch-size)))
(progress-reporter-update reporter start)))
(when (< n (- vlf-file-size end))
- (if is-hexl
- (vlf-tune-batch '(:hexl :dehexlify
- :insert :encode))
- (vlf-tune-batch '(:insert :encode)))
+ (vlf-tune-batch (if is-hexl
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(vlf-move-to-chunk-2 start (+ start vlf-batch-size))
(goto-char (point-min))
(setq success (vlf-re-search "[\n\C-m]" n nil 0
@@ -264,10 +263,9 @@ Search is performed chunk by chunk in `vlf-batch-size'
memory."
(progress-reporter-update reporter
(- vlf-file-size end))))
(when (< n end)
- (if is-hexl
- (vlf-tune-batch '(:hexl :dehexlify
- :insert :encode))
- (vlf-tune-batch '(:insert :encode)))
+ (vlf-tune-batch (if is-hexl
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(vlf-move-to-chunk-2 (- end vlf-batch-size) end)
(goto-char (point-max))
(setq success (vlf-re-search "[\n\C-m]" n t 0
diff --git a/vlf-tune.el b/vlf-tune.el
index 4868e2c..e3642bb 100644
--- a/vlf-tune.el
+++ b/vlf-tune.el
@@ -213,8 +213,10 @@ unless DONT-APPROXIMATE is t."
`(aset ,vec ,index 0)
`(vlf-tune-approximate-nearby ,vec ,index)))
((zerop val) ;index has been tried before, yet still no value
- (aset ,vec ,index
- (vlf-tune-approximate-nearby ,vec ,index)))
+ ,(if dont-approximate
+ `(aset ,vec ,index
+ (vlf-tune-approximate-nearby ,vec ,index))
+ `(vlf-tune-approximate-nearby ,vec ,index)))
(t val)))))
(defmacro vlf-tune-get-vector (key)
diff --git a/vlf.el b/vlf.el
index fad68b3..f9073d8 100644
--- a/vlf.el
+++ b/vlf.el
@@ -172,9 +172,9 @@ When prefix argument is negative
append next APPEND number of batches to the existing buffer."
(interactive "p")
(vlf-verify-size)
- (if (derived-mode-p 'hexl-mode)
- (vlf-tune-conservative '(:hexl :dehexlify :insert :encode))
- (vlf-tune-conservative '(:insert :encode)))
+ (vlf-tune-conservative (if (derived-mode-p 'hexl-mode)
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(let* ((end (min (+ vlf-end-pos (* vlf-batch-size (abs append)))
vlf-file-size))
(start (if (< append 0)
@@ -191,9 +191,9 @@ When prefix argument is negative
(interactive "p")
(if (zerop vlf-start-pos)
(error "Already at BOF"))
- (if (derived-mode-p 'hexl-mode)
- (vlf-tune-conservative '(:hexl :dehexlify :insert :encode))
- (vlf-tune-conservative '(:insert :encode)))
+ (vlf-tune-conservative (if (derived-mode-p 'hexl-mode)
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(let* ((start (max 0 (- vlf-start-pos (* vlf-batch-size (abs prepend)))))
(end (if (< prepend 0)
vlf-end-pos
@@ -271,18 +271,18 @@ with the prefix argument DECREASE it is halved."
(defun vlf-beginning-of-file ()
"Jump to beginning of file content."
(interactive)
- (if (derived-mode-p 'hexl-mode)
- (vlf-tune-conservative '(:hexl :dehexlify :insert :encode))
- (vlf-tune-conservative '(:insert :encode)))
+ (vlf-tune-conservative (if (derived-mode-p 'hexl-mode)
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(vlf-move-to-batch 0))
(defun vlf-end-of-file ()
"Jump to end of file content."
(interactive)
(vlf-verify-size)
- (if (derived-mode-p 'hexl-mode)
- (vlf-tune-conservative '(:hexl :dehexlify :insert :encode))
- (vlf-tune-conservative '(:insert :encode)))
+ (vlf-tune-conservative (if (derived-mode-p 'hexl-mode)
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(vlf-move-to-batch vlf-file-size))
(defun vlf-revert (&optional _auto noconfirm)
@@ -298,6 +298,9 @@ Ask for confirmation if NOCONFIRM is nil."
(defun vlf-jump-to-chunk (n)
"Go to to chunk N."
(interactive "nGoto to chunk: ")
+ (vlf-tune-conservative (if (derived-mode-p 'hexl-mode)
+ '(:hexl :dehexlify :insert :encode)
+ '(:insert :encode)))
(vlf-move-to-batch (* (1- n) vlf-batch-size)))
(defun vlf-no-modifications ()
- [elpa] externals/vlf 074f9e9 221/310: Play nicely with hexl-mode., (continued)
- [elpa] externals/vlf 074f9e9 221/310: Play nicely with hexl-mode., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 8c61b77 222/310: Fix when batch hooks are run for occur and save., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 6476c1b 227/310: Update README, wording, add links and information on hooks., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 8ba5bea 229/310: Don't run vlf-after-batch-functions hook in vlf-build-occur., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 569e4b2 237/310: Don't ask needles questions on changing helm batch and restore undo, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 1f9ba7c 230/310: Use derived-mode-p., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 32ff2cb 239/310: Add bookkeeping module., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 5379943 242/310: Save times instead of speeds, compare on cumulative speed when tuning., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 0d9cc8e 245/310: Don't measure encoding of too small region when adjusting chunk start, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf e8bb4a9 248/310: Apply batch size tuning on adjacent moves, search, save adjusting and, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d526ea8 257/310: Apply and restore batch size in more cases.,
Stefan Monnier <=
- [elpa] externals/vlf 9b6657b 260/310: Replace usage of conservative tune in single batch operations with load, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 2c660b0 269/310: Fix positive goto-line search and make highlighting of match optional., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 3cfa9b1 273/310: Refactor vlf-query-replace and don't adjust batch size if only, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 61599a0 274/310: Change linear tune to search only known measures and use it to, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a9c14e2 268/310: Add regexp query replace over whole file command., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 673ae08 277/310: Lower tramp verbosity level., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf ac8d400 276/310: Fixes to hexl-mode activation., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf f63ea96 272/310: Document new query replace and save options., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf e4a2e80 266/310: Optimize goto-line for hexl-mode, no need to search., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 7b9befe 275/310: - don't load unnecessary data at the end of search or occur, Stefan Monnier, 2020/11/28