Check-in [9c57055025]
Not logged in
Overview

SHA1 Hash:9c5705502507e993fa2486d31093571139db2128
Date: 2007-12-02 05:49:00
User: aku
Comment:Performance bugfix. nextmap/premap can still be performance killers and memory hogs. Moved the computation of sucessor changesets down to the type-dependent code (new methods) and the SQL database, i.e. the C level. In the current setup it was possible that the DB would deliver us millions of file-level dependency pairs which the Tcl level would then reduce to tens of actual changeset dependencies. Tcl did not cope well with that amount of data. Now the reduction happens in the query itself. A concrete example was a branch in the Tcl CVS generating nearly 9 million pairs, which reduced to roughly 200 changeset dependencies. This blew the memory out of the water and the converter ground to a halt, busily swapping. Ok, causes behind us, also added another index on 'csitem(iid)' to speed the search for changesets from the revisions, tags, and branches.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[show diffs]

Modified tools/cvs2fossil/lib/c2f_pinitcsets.tcl from [39a67db2c5] to [f56c12b551].    [diff]

Modified tools/cvs2fossil/lib/c2f_prev.tcl from [e427524ce6] to [a4cf35790a].    [diff]