speed ftw

Bug #249823 reported by Robert Collins
4
Affects Status Importance Assigned to Milestone
bzr-rewrite
Fix Released
High
Robert Collins

Bug Description

uws reports that rebasing was slow on the webkit branch, which is a bzr-svn imported branch from http://svn.webkit.org/repository/webkit/trunk. He has 3 patches, each of which touches just one file.

Tags: performance

Related branches

Revision history for this message
Robert Collins (lifeless) wrote :

uws, could you run with lsprof next time you rebase?
'bzr --lsprof-file slow.callgrind rebase ... ... ... '
Then attach the callgrind file.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

bzr-rebase wasn't written with performance in mind, several operations are O(history).

Revision history for this message
wouter bolsterlee (wbolster) wrote :

Here's the callgrind file. Note that this was just rebase without any actual work: my 3 patches are already on top of the ../webkit.trunk/ directory I'm rebasing on. So, while this is a no-op, it takes some time...

Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 249823] Re: speed ftw

On Fri, 2008-07-18 at 10:28 +0000, Jelmer Vernooij wrote:
> bzr-rebase wasn't written with performance in mind, several operations
> are O(history).

Thats fine, its fixable, first step is the profile :)

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Revision history for this message
Robert Collins (lifeless) wrote :

On Fri, 2008-07-18 at 10:44 +0000, Wouter Bolsterlee (uws) wrote:
> Here's the callgrind file. Note that this was just rebase without any
> actual work: my 3 patches are already on top of the ../webkit.trunk/
> directory I'm rebasing on. So, while this is a no-op, it takes some
> time...

Its grabbing all the history before it does anything. I can quickly
reduce the scope that this is done but perhaps not eliminate it entirely
until a little more time is available.

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Revision history for this message
wouter bolsterlee (wbolster) wrote :

Perhaps popping the top of the history of the current branch, then the top of the history of the other branch, then repeat (i.e. current, other, current, other, current, other) and seeing whether there's a match somewhere helps improving the speed. (Or is this speed issue not about finding the common ancestor?)

Revision history for this message
Robert Collins (lifeless) wrote :

On Fri, 2008-07-18 at 15:00 +0000, Wouter Bolsterlee (uws) wrote:
> Perhaps popping the top of the history of the current branch, then the
> top of the history of the other branch, then repeat (i.e. current,
> other, current, other, current, other) and seeing whether there's a
> match somewhere helps improving the speed. (Or is this speed issue not
> about finding the common ancestor?)

the revision history is embedded in the code; so cleaning up some parts
will be easier than others.

-Rob

--
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Changed in bzr-rebase:
assignee: nobody → lifeless
importance: Undecided → High
Changed in bzr-rebase:
status: New → In Progress
Revision history for this message
wouter bolsterlee (wbolster) wrote :

Would it help you if I provided my webkit.trunk bzr-svn mirror somewhere?

Jelmer Vernooij (jelmer)
Changed in bzr-rebase:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.