[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash history with mixed timestamps slow and broken
From: |
Chet Ramey |
Subject: |
Re: bash history with mixed timestamps slow and broken |
Date: |
Sat, 1 Oct 2016 13:43:42 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 9/24/16 2:17 PM, Hubert Schmid wrote:
> Configuration Information [Automatically generated, do not change]:
> Machine: x86_64
> OS: linux-gnu
> Compiler: gcc
> Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu'
> -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL
> -DHAVE_CONFIG_H -I. -I../. -I.././include -I.././lib -Wdate-time
> -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/bash-31ueiH/bash-4.4=.
> -fstack-protector-strong -Wformat -Werror=format-security -Wall
> -Wno-parentheses -Wno-format-security
> uname output: Linux vivo 4.7.0-1-amd64 #1 SMP Debian 4.7.4-2 (2016-09-19)
> x86_64 GNU/Linux
> Machine Type: x86_64-pc-linux-gnu
>
> Bash Version: 4.4
> Patch Level: 0
> Release Status: release
>
> Description:
> If the history file (`.bash_history`) starts with a timestamp
> (`HIST_TIMESTAMP_START`), and contains lines that have been written
> without timestamps, then reading the history file is (a) very slow
> because (b) consecutive lines without timestamps are merged into a
> single history entry with quadratic complexity.
>
> Apparently, this problem didn't exist in the previous version (4.3).
[...]
> Fix:
> Do not set `history_multiline_entries` to a non-zero value in
> `lib/readline/histfile.c`.
>
> Workaround without changing the code: Add a dummy history entry add
> the beginning of the history file without a timestamp. That has a
> similar effect as the code change, i.e. multi-line entries are not
> supported, and consecutive lines without timestamps will not be merged
> into a line history entry.
Try this patch and see if it improves the situation for this corner case.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/
history-appendline.patch
Description: Text Data
- Re: bash history with mixed timestamps slow and broken,
Chet Ramey <=