HomePhabricator

arc: fix performance of "arc unit" with vanilla arcanist

Authored by simpkins.

Description

arc: fix performance of "arc unit" with vanilla arcanist

Summary:
The upstream phacility libphutil code sets the PHP "xdebug.max_nesting_level"
config setting to PHP_INT_MAX. When using HHVM this turns on XDebug profiling,
which appears to make things substantially slower, particularly on Linux.

This was making "arc unit" take substantially longer, and even caused test
failures in some cases. (For instance, some tests check for messages saying
that hg obtained the lock after 1 second, but this can take substantially
longer than 1 second with XDebug profiling enabled.)

Resetting xdebug.max_nesting_level back to 0 turns profiling back off again,
and fixes the performance issues.

Test Plan:
Ran arc unit and confirmed that it ran in roughly the same time as running
scripts/unit.py manually.

Reviewers: stash, ryanmce, quark, #fbhgext

Reviewed By: quark, #fbhgext

Differential Revision: https://phab.mercurial-scm.org/D397

Details

Committed
simpkinsAug 15 2017, 1:49 PM
Reviewer
Restricted Project
Differential Revision
D397: arc: fix performance of "arc unit" with vanilla arcanist
Parents
rFBHGX59a820ec5f7d: tweakdefaults: do not change the date when using amend --to
Branches
Unknown
Tags
Unknown