[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf f3212ec 251/310: Fix measure approximation and allo
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf f3212ec 251/310: Fix measure approximation and allow tuning to just over half file |
Date: |
Sat, 28 Nov 2020 00:33:26 -0500 (EST) |
branch: externals/vlf
commit f3212ec9a62185383870226e604a730ec7e05b4c
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Fix measure approximation and allow tuning to just over half file
batch.
---
vlf-tune.el | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/vlf-tune.el b/vlf-tune.el
index d4b39a4..f65521c 100644
--- a/vlf-tune.el
+++ b/vlf-tune.el
@@ -180,17 +180,14 @@ SIZE is number of bytes that are saved."
(max (length vec)))
(while (and (zerop val) (or (<= 0 left-idx)
(< right-idx max)))
- (when (<= 0 left-idx)
- (setq val (car (aref vec left-idx)))
- (if (and (not (zerop val)) (/= val -1))
- (setq val (/ (* val (1+ index))
- (1+ left-idx)))))
+ (if (<= 0 left-idx)
+ (let ((left (car (aref vec left-idx))))
+ (if (and (not (zerop left)) (/= left -1))
+ (setq val left))))
(if (< right-idx max)
- (let ((right (car (aref vec left-idx))))
+ (let ((right (car (aref vec right-idx))))
(if (and (not (zerop right)) (/= right -1))
- (setq right (/ (* right (1+ index))
- (1+ right-idx))
- val (if (zerop val)
+ (setq val (if (zerop val)
right
(/ (+ val right) 2))))))
(setq left-idx (1- left-idx)
@@ -244,7 +241,7 @@ SIZE is number of bytes that are saved."
"Adjust `vlf-batch-size' to best nearby value over TYPES.
INDEX if given, specifies search independent of current batch size."
(if (eq vlf-tune-enabled t)
- (let* ((half-max (/ vlf-file-size 2))
+ (let* ((half-max (/ (1+ vlf-file-size) 2))
(idx (or index (vlf-tune-closest-index vlf-batch-size)))
(curr (if (< half-max (* idx vlf-tune-step)) t
(vlf-tune-score types idx))))
@@ -321,7 +318,8 @@ non list values in which case coeficient is assumed 1.
Types can be :insert, :raw, :encode, :write, :hexl or :dehexlify.
If LINEAR is non nil, use brute-force."
(if (eq vlf-tune-enabled t)
- (let ((max-idx (1- (/ (min vlf-tune-max (/ vlf-file-size 2))
+ (let ((max-idx (1- (/ (min vlf-tune-max
+ (/ (1+ vlf-file-size) 2))
vlf-tune-step))))
(cond (linear (vlf-tune-linear types max-idx))
((file-remote-p buffer-file-name)
- [elpa] externals/vlf 694d1de 235/310: Allow vlf-occur results be saved to file and later reused., (continued)
- [elpa] externals/vlf 694d1de 235/310: Allow vlf-occur results be saved to file and later reused., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 274c5ab 233/310: Perform search, occur and ediff operations over hexl content instead, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d9cc6fb 264/310: Fix vlf-tune-optimal-load in case best value prunes slower times leaving, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d1a6800 284/310: Move vlf information from buffer name to the mode line., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a7be713 283/310: Set vlf-tune-max with proper value in case RAM size is wrongly, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf bc398d6 291/310: - don't adjust start on next occur batch, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a01e9ed 304/310: Minor README additions., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 31b292d 305/310: fixed large-file-warning-threshold error, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 63d23ac 309/310: Make vlf handle nil large-file-warning-threshold value, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 70a8107 243/310: Add vlf-batch-size tuning in vlf-occur., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf f3212ec 251/310: Fix measure approximation and allow tuning to just over half file,
Stefan Monnier <=
- [elpa] externals/vlf 11c7af4 253/310: Change handling of measurement values to support approximations., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 35ede94 255/310: Restore batch size after save with adjustment., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf ff06509 261/310: Document tune functionality., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 1c961f4 285/310: Fix whole file reload in read-only buffer on vlf-mode exit., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf f4526a1 287/310: Forbid short-cutting in line search., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf fd90b3a 295/310: Use xdigit regex class in vlf-hexl-adjust-addresses., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf df677c1 302/310: Issue 35: make mode-line batch indicators more accurate, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf a568d2d 307/310: packages/vlf: Update copyright dates and bump version., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 0ecb40a 124/310: Keep as much editing as possible when moving to intersecting chunk., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 86223ed 234/310: Fixes to hexl-mode integration., Stefan Monnier, 2020/11/28