# HG changeset patch # User Martin von Zweigbergk # Date 1525037349 25200 # Node ID 92ed344a9e6407d1103d42f5c53ebae3cfa37d1d # Parent 9231148ea5999ecd08eecbe6ab7f5191e727937c revlog: use radix tree also for matching keys shorter than 4 hex digits I don't know what the reason for the 4-digit limit was, and I can't think of any real disadvantages of using the radix tree also when the requested minimum length is short. This speeds up `hg log -T '{shortest(node,1)}\n'` from 2m16s to 4.5s by making that not fall back to pure code. Differential Revision: https://phab.mercurial-scm.org/D3453 diff -r 9231148ea599 -r 92ed344a9e64 mercurial/cext/revlog.c --- a/mercurial/cext/revlog.c Fri Apr 06 12:55:32 2018 -0700 +++ b/mercurial/cext/revlog.c Sun Apr 29 14:29:09 2018 -0700 @@ -1251,7 +1251,7 @@ if (!PyArg_ParseTuple(args, PY23("s#", "y#"), &node, &nodelen)) return NULL; - if (nodelen < 4) { + if (nodelen < 1) { PyErr_SetString(PyExc_ValueError, "key too short"); return NULL; }