[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vlf d85f3d4 246/310: Fix access to uninitialized measur
From: |
Stefan Monnier |
Subject: |
[elpa] externals/vlf d85f3d4 246/310: Fix access to uninitialized measurements when tuning. |
Date: |
Sat, 28 Nov 2020 00:33:25 -0500 (EST) |
branch: externals/vlf
commit d85f3d43fc838628cf27e7daec6c9507830337f3
Author: Andrey Kotlarski <m00naticus@gmail.com>
Commit: Andrey Kotlarski <m00naticus@gmail.com>
Fix access to uninitialized measurements when tuning.
---
vlf-tune.el | 46 ++++++++++++++++++++++++++++------------------
1 file changed, 28 insertions(+), 18 deletions(-)
diff --git a/vlf-tune.el b/vlf-tune.el
index 677e881..7fcbfee 100644
--- a/vlf-tune.el
+++ b/vlf-tune.el
@@ -164,24 +164,34 @@ SIZE is number of bytes that are saved."
(defun vlf-tune-assess (type coef index)
"Get measurement value according to TYPE, COEF and INDEX."
- (* coef (cond ((eq type :insert)
- (car (aref vlf-tune-insert-bps index)))
- ((eq type :raw)
- (car (aref vlf-tune-insert-raw-bps index)))
- ((eq type :encode) ;encode size is less than batch size
- (let ((closest-idx index)
- (val (car (aref vlf-tune-encode-bps index))))
- (while (and (zerop val) (not (zerop closest-idx)))
- (setq closest-idx (1- closest-idx)
- val (car (aref vlf-tune-encode-bps
- closest-idx))))
- (/ (* val (1+ index)) (1+ closest-idx)))) ;approximate
- ((eq type :write)
- (car (aref vlf-tune-write-bps index)))
- ((eq type :hexl)
- (car (aref vlf-tune-hexl-bps index)))
- ((eq type :dehexlify)
- (car (aref vlf-tune-dehexlify-bps index))))))
+ (* coef (or (cond ((eq type :insert)
+ (if vlf-tune-insert-bps
+ (car (aref vlf-tune-insert-bps index))))
+ ((eq type :raw)
+ (if vlf-tune-insert-raw-bps
+ (car (aref vlf-tune-insert-raw-bps index))))
+ ((eq type :encode) ;encode size is less than batch size
+ (if vlf-tune-encode-bps
+ (let ((closest-idx index)
+ (val (car (aref vlf-tune-encode-bps
+ index))))
+ (while (and (zerop val)
+ (not (zerop closest-idx)))
+ (setq closest-idx (1- closest-idx)
+ val (car (aref vlf-tune-encode-bps
+ closest-idx))))
+ (/ (* val (1+ index)) ;approximate
+ (1+ closest-idx)))))
+ ((eq type :write)
+ (if vlf-tune-write-bps
+ (car (aref vlf-tune-write-bps index))))
+ ((eq type :hexl)
+ (if vlf-tune-hexl-bps
+ (car (aref vlf-tune-hexl-bps index))))
+ ((eq type :dehexlify)
+ (if vlf-tune-dehexlify-bps
+ (car (aref vlf-tune-dehexlify-bps index)))))
+ 0)))
(defun vlf-tune-score (types index)
"Cumulative speed over TYPES which is alist of (type coef) for INDEX."
- [elpa] externals/vlf f4526a1 287/310: Forbid short-cutting in line search., (continued)
- [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
- [elpa] externals/vlf 9271f68 256/310: Add function to linearly search best batch size according to existing, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 0d2c096 258/310: Restore batch size and hexl mode in case of failed search or occur., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf b918791 265/310: Improve vlf performance with hexl-mode. Align batches to hexl-bits, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 2e9ff70 238/310: Enlarge default batch size but keep is small on initial load of remote, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d85f3d4 246/310: Fix access to uninitialized measurements when tuning.,
Stefan Monnier <=
- [elpa] externals/vlf ca56498 259/310: Change vlf-tune-get-optimal to optimize on total time of primitive, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 51d95ec 152/310: Add command to display batch starting from point., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 46e39a0 153/310: Version 1.0., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf d1af56d 167/310: Fix opening of files for GNU Emacs 23., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 8ab1c6a 136/310: Disable undo and mark buffer as not modified when invoking search or, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf bb482f0 173/310: Fix file size determination for symbolic links., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 9ffb968 172/310: Remove defadvice abort-if-file-too-large argument list so it works, Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 386d856 179/310: Restore undo information after temporarily disabling it., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf deec75d 186/310: Enlarge minimum sample chunk for decoding size., Stefan Monnier, 2020/11/28
- [elpa] externals/vlf 516584e 187/310: Break VLF into components., Stefan Monnier, 2020/11/28