]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Speed up GDB's TUI output
authorDoug Evans <dje@google.com>
Wed, 4 Feb 2015 12:04:30 +0000 (13:04 +0100)
committerPedro Alves <palves@redhat.com>
Wed, 4 Feb 2015 12:04:30 +0000 (13:04 +0100)
commit2b7d5144a58e63cb9517f6a8b31dd7c5e05a7ffe
tree9e7940a8f7bd626ac7d9979d3e59c244d1e12154
parent20816c0159064eb6ab66663428e917169ee24de1
Speed up GDB's TUI output

In the TUI mode, we call wrefresh after outputting every single
character.  This results in the I/O becoming very slow.  Fix this by
delaying refreshing the console window until an explicit flush of
gdb_stdout is requested, a write to any other (unbuffered) file is
done.

2015-02-04  Doug Evans  <dje@google.com>
    Pedro Alves  <palves@redhat.com>
    Eli Zaretskii  <eliz@gnu.org>

PR tui/17810
* tui/tui-command.c (tui_refresh_cmd_win): New function.
* tui/tui-command.c (tui_refresh_cmd_win): Declare.
* tui/tui-file.c: #include tui/tui-command.h.
(tui_file_fputs): Refresh command window if stream is not gdb_stdout.
(tui_file_flush): Refresh command window if stream is gdb_stdout.
* tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush.
(tui_readline_output): Call tui_refresh_cmd_win.
(print_filename): Likewise.
(tui_rl_display_match_list): Likewise.
gdb/ChangeLog
gdb/tui/tui-command.c
gdb/tui/tui-command.h
gdb/tui/tui-file.c
gdb/tui/tui-io.c