##// END OF EJS Templates
discovery: compute newly discovered missing in a more efficient way...
discovery: compute newly discovered missing in a more efficient way Calling "descendants" is expensive, instead, we bound the walk inside the know set of undecided revision. This help with discovery performance: # without the revset '%ld' improvement $ hg perfdiscovery -R pypy-left pypy-right before: wall 0.675631 comb 0.680000 user 0.670000 sys 0.010000 (median of 15) after: wall 0.520145 comb 0.530000 user 0.510000 sys 0.020000 (median of 19) There is another series in flight that greatly improves performances of "%ld" substitution in `repo.revs` call. If this changeset is applied above it, we see a similar performance boost. # with the revset '%ld' improvement $ hg perfdiscovery -R pypy-left pypy-right before: wall 0.477848 comb 0.480000 user 0.480000 sys 0.000000 (median of 22) after: wall 0.404163 comb 0.400000 user 0.400000 sys 0.000000 (median of 24)

File last commit:

r40896:b12700dd default
r41316:f4277a35 default
Show More
revlog.h
19 lines | 455 B | text/x-c | CLexer
Yuya Nishihara
revlog: export symbol of indexType...
r40894 /*
revlog.h - efficient revlog parsing
This software may be used and distributed according to the terms of
the GNU General Public License, incorporated herein by reference.
*/
#ifndef _HG_REVLOG_H_
#define _HG_REVLOG_H_
#include <Python.h>
Yuya Nishihara
revlog: rename indexType to HgRevlogIndex_Type as it's a global symbol...
r40895 extern PyTypeObject HgRevlogIndex_Type;
Yuya Nishihara
revlog: export symbol of indexType...
r40894
Yuya Nishihara
revlog: add public CPython function to get parent revisions...
r40896 #define HgRevlogIndex_Check(op) PyObject_TypeCheck(op, &HgRevlogIndex_Type)
int HgRevlogIndex_GetParents(PyObject *op, int rev, int *ps);
Yuya Nishihara
revlog: export symbol of indexType...
r40894 #endif /* _HG_REVLOG_H_ */