Code review comment for lp:~spiv/bzr/inventory-delta

Revision history for this message
John A Meinel (jameinel) wrote :

> John A Meinel wrote:
> [...]
> > So do I understand correctly that:
> >
> > IDS => bzr:// ~30min
> > InventoryDelta => bzr:// 9.5min
> > IDS => file:// < 1min
>
> Also:
>
> InventoryDelta => file:// ~9.5min
>
> (Timings are intentionally a bit approximate, I haven't kept my laptop
> perfectly
> idle while running these tests, etc.)
>
> -Andrew.

So something isn't quite right with my timings as:

wbzr init-repo --2a test-2a
time wbzr push -d ../bzr/bzr.dev -r 2000 test-2a/bzr -DIDS:always
11m12.889s

I wonder if you didn't make a mistake in your timing of IDS.

In my timing of IDS versus InventoryDelta for bzrtools, it was more:

15.8s time wbzr push -d bzrtools bzr://localhost/test-2a/bzrt
19.1s time wbzr push -d bzrtools test-2a/bzrt

Which shows that IDS was actually *slower* than pushing using InventoryDelta over the local loopback.

Given the numbers you quote, 1m is *much* closer to just the simple:
  bzr init-repo --1.9 test-19
  bzr branch ../bzr/bzr.dev test-19/bzr

Which would be the simple non-converting time.

I'll be running a couple more tests to see if the new refactoring of IDS that you've done has made anything slower, but at least at a first glance the only thing I could find that would be better with IDS is that it doesn't have a second pass over all inventories in order to generate the root texts keys. And that certainly wouldn't explain 9.5m => 1.0m.

I suggest you run your timing test again, and make sure you've set everything up correctly.

I at least thought my laptop was faster than yours, though I'm on Windows and you may have upgraded your laptop since then.

$ time wbzr push -d ../bzr/bzr.dev -r 2000 bzr://localhost/test-2a/bzr -DIDS:never
real 4m32.578s

This is 4m32s down from 11m12s for IDS (file:// to file://). Maybe something did get broken. I'll be running some more tests.

« Back to merge proposal