HomePhabricator

When reindexing changes, use multiple threads per project

Authored by QChris on Jun 14 2020, 8:23 PM.

Description

When reindexing changes, use multiple threads per project

Each project's changes were reindexed on a single thread. This might
leave most threads of the pool idling when reindexing a site with
one big and many small projects. In the beginning, all CPUs are busy
reindexing projects. But once the small projects have been reindexed,
one thread is still working alone on the big project, while the other
threads are idle.

To avoid this idling we split the big projects into smaller parts and
let the thread pool index these parts. Thereby also the reindexing of
big projects can take advantage of more CPUs.

Change-Id: Ic7b36b5b8badab502370d79085f329f9b8c70d9d

Details

Committed
QChrisJun 16 2020, 12:02 PM
Parents
rGERRITDEPLOYb13c16299cb6: Merge branch 'stable-3.1' into stable-3.2
Branches
Unknown
Tags
Unknown
ChangeId
Ic7b36b5b8badab502370d79085f329f9b8c70d9d