Bazaar NG performance on large repositories
Nicholas Allen
allen at ableton.com
Mon Oct 30 18:18:53 GMT 2006
John Arbash Meinel wrote:
> Nicholas Allen wrote:
>
>>>> bzr log some-file
>>>> This command took a very long time. In fact, I gave up waiting for it to
>>>> complete. No output was seen on the terminal at all - even after 5
>>>> minutes. I think in its current state this would be completely unusable
>>>> for us. I hope that bzr will see some performance improvements here.
>>>>
>>>>
>>> log some-file reads the inventory of each commit, so it scales with tree
>>> size. That's a limit of the current implementation, though. We can
>>> look at each file to see what revisions modified it, though I'm not sure
>>> whether that will detect all kinds of changes.
>>>
>>>
>> Is that something that is hard to change? Would it not be possible to
>> have a file somewhere (in .bzr) for each file under version control that
>> lists the revisions that modified it? These files could be calculated
>> once after an initial pull and then updated on each commit. Then a log
>> for a single command would be very fast. The files could be updated the
>> first time a log on a single file is done or always after pulling (but
>> this would increase the pull time of course).
>>
>
> As I commented, most of this is already done. We don't record deletes in
> that index, and we really should.
>
Great! So it sounds pretty easy to make log use this file then. Perhaps
I can take a look at implementing this - but it would probably take me a
while to get familiar with the code base first and I am quite busy so
not sure how long it would take me...
>
>>> would be the execute bit.
>>>
>> Why does it claim that the executable bit changed for files when I
>> didn't change this?
>>
>> Thanks,
>>
>> Nick
>>
>
> It would be nice to figure this out. If it isn't a public project, I
> would be happy to investigate it with you on IRC at chat.freenode.net
> #bzr. We can investigate over email, but it is usually much
> easier/faster on IRC.
Ok - unfortunately, it is a closed source project so I would not be able
to share the source code with you. I can't do it today but would be
happy to offer any assistance to solve the problem. I was using the
0.12rc release but through a cygwin terminal so not sure if that had
something to do with it. I'll send you an email to arrange a time on IRC
then (I will probably have some time tomorrow)...
Thanks,
Nick
More information about the bazaar
mailing list