[bsearch] Micro-optimization
This commit is contained in:
parent
41b1984be9
commit
d6f612fac8
|
@ -1047,11 +1047,12 @@ struct SortedArrayOf : ArrayOf<Type, LenType>
|
||||||
inline int bsearch (const SearchType &x) const
|
inline int bsearch (const SearchType &x) const
|
||||||
{
|
{
|
||||||
/* Hand-coded bsearch here since this is in the hot inner loop. */
|
/* Hand-coded bsearch here since this is in the hot inner loop. */
|
||||||
|
const Type *array = this->array;
|
||||||
int min = 0, max = (int) this->len - 1;
|
int min = 0, max = (int) this->len - 1;
|
||||||
while (min <= max)
|
while (min <= max)
|
||||||
{
|
{
|
||||||
int mid = (min + max) / 2;
|
int mid = (min + max) / 2;
|
||||||
int c = this->array[mid].cmp (x);
|
int c = array[mid].cmp (x);
|
||||||
if (c < 0)
|
if (c < 0)
|
||||||
max = mid - 1;
|
max = mid - 1;
|
||||||
else if (c > 0)
|
else if (c > 0)
|
||||||
|
|
Loading…
Reference in New Issue