mercurial/cext/revlog.h
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Thu, 23 Feb 2023 23:25:28 +0100
changeset 50220 02fe65f74be5
parent 44485 9db11679f8ac
permissions -rw-r--r--
convert: use a priority queue for sorting commits, to make sorting faster To achieve this, we turn commit sorters into classes so they can encapsulate state. This reduces the sorting time from ~30s to ~10s on a 500k-commit prefix of a repo I tried to convert. (and probably reduces the time to sort the whole repo from many tens of minutes to minutes, but I didn't try that again) The date caching gets removed because priority queue already caches the key.

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

#endif /* _HG_REVLOG_H_ */