bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What, exactly, _is_ "line-breakout optimization"?


From: G. Branden Robinson
Subject: Re: What, exactly, _is_ "line-breakout optimization"?
Date: Sun, 19 May 2024 09:20:24 -0500

At 2024-05-19T08:59:47-0500, G. Branden Robinson wrote:
> A Google search suggests that this curious phrase is attested in only
> one place in all of recorded literature: an ncurses man page (and
> quotations thereof).
> 
> Your search - "line-breakout optimization" -curses -ncurses - did not match 
> any documents.

I should add that the source does provide a clue; the "interval" at
which ncurses--specifically--checks (via poll() or select(), depending
on the platform) file descriptors for input is quantified in the number
of changed lines.  So I guess the update of a screen "line" is what is
"broken out" of.

But this doesn't explain why the term is used in the man page.  Without
a description of the optimization technique itself, the use of a
shorthand term that might make sense to developers is useless--or
worse--to the user of the API.

X/Open Curses is much more general in its description, and consequently
clearer.

"If fildes is a valid file descriptor, typeahead is enabled during
refresh; Curses periodically checks fildes for input and aborts the
refresh if any character is available."

If I had to guess, I'd say the language of which I complain came from
the same source as the breezy flogging of "a modified Heckel algorithm
on line hashes to fill in scramble-vector information" in a May 1996
change.

Thomas Dickey noted[1] that "when [he] measured it, rather than
improving performance, the result was often slower, typically 5-20%".

Presumably the objective of the feature was not to improve the
performance of ncurses, but to astound the credulous reader with
impressive-sounding buzzwords.

Regards,
Branden

[1] https://invisible-island.net/ncurses/ncurses-license.html

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]