HomeSoftware Heritage

Add fast-path to the bzr loader

Description

Add fast-path to the bzr loader

Computing a delta from the currently stored snapshot for each revision
is much more efficient than always reading every single file.

We intentionally don't handle the cases where renames or copies are
involved. The complexity of the logic needed to figure out nested or
otherwise conflicting results coupled with the lack of nice primitives
in Breezy itself is really too much to be worth the effort, as revisions
with renames are far from being the majority.

Loading lp:glamour on my laptop before this change takes 59 minutes,
less than 3 minutes with this change.

Details

Provenance
AlphareAuthored on Feb 9 2022, 12:37 PM
AlpharePushed on Feb 10 2022, 3:22 PM
Differential Revision
D7130: Add fast-path to the bzr loader
Parents
rDLDBZR5077af52cb1d: tests: Reference tasks module for tests to be ok with debian build
Branches
Unknown
Tags
Unknown
Build Status
Buildable 26752
Build 41829: test-and-buildJenkins console · Jenkins