On Wed, 31 May 2006, Oswald Buddenhagen wrote:
On Wed, May 31, 2006 at 05:13:29PM +0300, Pavel Tsekov wrote:There is no need to profile MC. It is not speedup in terms of CPU cycles but in reduced screen update i.e. why paint the frame each time if it really doesn't change at all.it should be pointed out that the screen libs (ncurses and slang) optimize away redundant paints (this can be best proved by messing up the screen (e.g., with write) and doing something that _certainly_ does a full paint - like opening the editor). so the redundant painting happens only in the screen lib's frame buffer, which isn't that expensive, really. so if it's only one line and the optimization would be pretty complicated, it simply would not pay. but i can't judge that case, as i didn't read the code.
It's there and has been for some time. The new free space patch is simply not doing the right thing with respect to the existing code.
Whether this optimization is worth or not is something that should be discussed in another thread. But if anyone feels that the new patch should go in as is lets put it for a vote. It is really not my intention to stop that patch from being checked in. As for the smart screen libraries - yes they do try to reduce the number of real screen updates. But this suggestion that I made to Jindrich i.e. to trace with gdb: http://mail.gnome.org/archives/mc-devel/2006-May/msg00119.html It shows that S-Lang is not doing the smartest thing. There are many other examples when data is printed to the screen right away.