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: Thomas Dickey
Subject: Re: What, exactly, _is_ "line-breakout optimization"?
Date: Sun, 19 May 2024 15:19:32 -0400

On Sun, May 19, 2024 at 09:20:24AM -0500, G. Branden Robinson wrote:
> 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.

That's probably close enough
 
> But this doesn't explain why the term is used in the man page.  Without

It's in the oldest checkin of curs_inopts.3x (December 1994).

I see it earlier in ncurses 1.8.5 (February 1994).
The "CHANGES" file in 1.8.5 says (for ncurses 1.8.3)

        3) Eric S. Raymond has supplied a complete set of man pages for
        ncurses in ?roff format. They will eventually replace most of the 
        current docs. Both sets are included in this release.

so I agree that it's probably Raymond's wording.

Rewriting it wouldn't hurt.

(If either Eric or Zeyd had an rcs or cvs archive of this stuff,
to give a better picture, that would have been mentioned long ago -
all I have before 1996 is a collection of tarballs and some patches).

> 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.

As far as I know, documentation for X/Open Curses wasn't available in 1994.
(Some drafts were ftp-able in 1995).
 
> "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.

yes - some of that's amusing (actually I looked up the Heckel paper a long
time ago, and didn't see the resemblance versus the algorithm - chalked it
up to hyperbole).
 
> 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



-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net

Attachment: signature.asc
Description: PGP signature


reply via email to

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