urxvtd performance problems and possible fixes

Marc Lehmann schmorp at schmorp.de
Fri Dec 7 13:45:34 CET 2007

On Thu, Dec 06, 2007 at 04:57:16PM +0000, Reuben Thomas <rrt at sc3d.org> wrote:
> 1. I do something with a Perl extension that takes a long time. I can't use 
> any of my terminal windows until it finishes.

You need to use an idle watcher. This will of course *decrease*
performance, but it seems that is what you want (the performance is
optimal when not blocking). The searchable-scrollback should do this, but
it isn't implemented yet. Patches would be welcome, of course.

> 2. I change the size of the text in a window with a long history. I can't 
> use any of my terminal windows until all the text in all the windows is 
> reformatted.

Doing it in the background will also *decrease* performance, so wouldn't
fix any performance problem.

(The algorithm is also quite optimal, you must have an extremely slow

The solution would be to use not urxvtd but separate terminal windows,
then resizing a few will not inhibit all of them.

> window, I typically resize all of them, and poof! my computer's busy for 

With such a slow computer you simply might have to live a bit lower, you
simply can't have all such features, lots of terminals and have them fast at
the same time.

> the next few minutes reformatting all my command histories

moving them into the background would take even longer, so I am not
exactly sure what your goal is. The same is true for scrollback search
(which seems to be your other problem).

in any case, minutes is not really a realistic time, are you sure you
have enough memory ot handle the scrollback and it isn't swapped out
completely, leading possible to thrashing? wrapping is extremely fast
normally. If all is in swap you need to take this to your operating
system, there is no way to make that faster from within urxvtd.

Your two siggestions certainly would make urxvt much slower.

> Finally, I noticed an English-o in the man page: "bidirectional algorithms 
> belong into the application": into -> in.


                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at goof.com
      -=====/_/_//_/\_,_/ /_/\_\

More information about the rxvt-unicode mailing list