view mercurial/cext/revlog.h @ 41086:a28833d79aca

revlog: use the native implementation of issnapshot In some sparserevlog case where a lot of the history has to be searched for a snapshot, the cost of issnashot cost becomes significant. The computation done by the method is fairly low level, a native implementation provide a very significant speedup. example affected manifest write before: 0.490375s after: 0.114989s (-76%)
author Boris Feld <boris.feld@octobus.net>
date Fri, 21 Dec 2018 05:27:38 +0100
parents b12700dd261f
children 9db11679f8ac
line wrap: on
line source

/*
 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>

extern PyTypeObject HgRevlogIndex_Type;

#define HgRevlogIndex_Check(op) PyObject_TypeCheck(op, &HgRevlogIndex_Type)

int HgRevlogIndex_GetParents(PyObject *op, int rev, int *ps);

#endif /* _HG_REVLOG_H_ */