On Wed, 2005-12-14 at 15:26 +0100, Jean-Marc Lasgouttes wrote:
> >>>>> "Bennett" == Bennett Helm <[EMAIL PROTECTED]> writes:
> 
> Bennett> On Dec 14, 2005, at 6:26 AM, Jean-Marc Lasgouttes wrote:
> >> BTW Bennett, for the next Shark profile, it would be nice to have
> >> counts in addition to time %.
> 
> Bennett> I don't see how to get both counts and time %, but I've
> Bennett> posted a new profile with counts. Just in case it's helpful,
> Bennett> I posted both a bottom-up and a top-down version; you can
> Bennett> find them here:
> 
> I was thinking about number of calls, but since Shark is a statistical
> analyzer, it cannot tell that. So percentage is indeed better.
> 
> The bottom up version is intriguing. I am not sure I know how to use
> it. 
> 
> How long did you type to get the trace? The longer it lasts, the more
> precise profile one gets.
> 
> Also, you previous profile had a list of all functions at the end,
> after the tree. It was nice.
> 
> All in all, I do not see a clear way to improve the speed.

No... I have to agree. Let's give up for 1.4.

That leaves the earlier posted lyxfunc patch as the only one worth
committing IMHO. It is simple, leads to a small but noticable speedup
even in Bennett's test case (but probably even more, percentage wise, in
typical situations that however are not interaction-critical), is
understood (it eliminates a large number of unnecessary function calls
to redoParagraph and screen rendering) and seems not to have any side
effects.

Attached again. OK to commit?

- Martin

Index: lyxfunc.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyxfunc.C,v
retrieving revision 1.673
diff -u -p -r1.673 lyxfunc.C
--- lyxfunc.C	25 Nov 2005 09:27:08 -0000	1.673
+++ lyxfunc.C	14 Dec 2005 15:20:41 -0000
@@ -1589,7 +1589,9 @@ void LyXFunc::dispatch(FuncRequest const
 			if (update)
 				view()->update(Update::FitCursor | Update::Force);
 			else
-				view()->update(Update::FitCursor);
+		    		if (!lyxaction.funcHasFlag(cmd.action, 
+				    LyXAction::SingleParUpdate))
+					view()->update(Update::FitCursor);
 
 			// if we executed a mutating lfun, mark the buffer as dirty
 			// FIXME: Why not use flag.enabled() but call getStatus again?

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to