zsh-users
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: luomat@nerc.com, zsh-users@math.gatech.edu
Cc: comp-sys-next-software@antigone.com
Subject: Re: zsh 3.0 still intolerably slow on NeXTStep 3.2
Date: Sun, 18 Aug 1996 13:01:28 -0700	[thread overview]
Message-ID: <960818130128.ZM23990@candle.brasslantern.com> (raw)
In-Reply-To: "Timothy J. Luoma" <luomat@nerc.com> "zsh 3.0 still intolerably slow on NeXTStep 3.2" (Aug 16,  2:44am)

On Aug 16,  2:44am, Timothy J. Luoma wrote:
} Subject: zsh 3.0 still intolerably slow on NeXTStep 3.2
}
} The drawing of the prompt (right and left) is still terribly slow,  
} and if I go into a long command (ie a find command) and type, I can  
} see the cursor jump to the beginning of the line and then back  
} again.
} 
} Anyone have any clues what could be causing this?

Does it make any difference whether your prompt is on the last line of
the terminal?

Does it make any difference if you `unset RPROMPT RPS1`?

There are only two new hunks of refresh() in zle_refresh.c that I can see
making any difference here.  First:

    for (;;) {
+	if (*nl && nl[1] == ol[1])	/* skip only if second chars match */
	/* skip past all matching characters */
	    for (; *nl && (*nl == *ol); nl++, ol++, ccs++) ;

This seems to assume that when ol="ab..." and nl="ac..." that it's faster
to go ahead and insert the string "ac" rather than move one character to
the right and then insert "c".  This is not necessarily an optimization
if the cursor is already positioned at or to the right of the "a" position,
is it, Geoff?  Especially if "move to column x" is implemented as "move to
column 0 and then move right x columns" by the terminal?

Tim, try deleting that line from refresh() and see what happens.

Second:

+		    /* if we've pushed off the right, truncate oldline */
+			for (j = ccs - i, p1 = ol; *p1 && j + char_ins < winw;
+			     p1++, j++);
+			if (j + char_ins == winw)
+			    *p1 = '\0';
+			p1 = ol;

Am I confused, or will this always cause the remainder of nl (anything off
the right side of the current screen line?) to be reprinted (on the next
cycle around the refresh() loop) followed by a clear-to-end-of-line, even
if it hasn't changed?

I think its safe to delete that chunk as well, if deleting the first one
doesn't make any difference; but I can't guarantee it.

-- 
Bart Schaefer                             Brass Lantern Enterprises
http://www.well.com/user/barts            http://www.nbn.com/people/lantern

New male in /home/schaefer:
>N  2 Justin William Schaefer  Sat May 11 03:43  53/4040  "Happy Birthday"


  reply	other threads:[~1996-08-18 20:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-08-16  6:44 Timothy J. Luoma
1996-08-18 20:01 ` Bart Schaefer [this message]
1996-08-19  3:36   ` Geoff Wing
1996-08-22  5:19     ` Timothy J. Luoma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=960818130128.ZM23990@candle.brasslantern.com \
    --to=schaefer@candle.brasslantern.com \
    --cc=comp-sys-next-software@antigone.com \
    --cc=luomat@nerc.com \
    --cc=schaefer@nbn.com \
    --cc=zsh-users@math.gatech.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).