1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-27 17:22:42 +01:00
phorge-phorge/src/infrastructure
vrana f841491524 Use Lisk sets in fact update iterator
Summary:
Fact engines loading dependent objects are super slow because they load them one by one.
This diff put each page in a Lisk set allowing engines to use `loadRelatives()`.

It also introduces `clearSet()` method which is somewhat neccessary in PHP < 5.3 or with disabled cyclic [[ http://php.net/gc | GC ]].

Test Plan:
  $iterator = new PhabricatorFactUpdateIterator(new DifferentialRevision());
  foreach ($iterator as $revision) {
    $diffs = $revision->loadRelatives(new DifferentialDiff(), 'revisionID');
    echo memory_get_usage() . "\n";
  }

Experienced not-steadily-increasing memory usage and much faster loading.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D3247
2012-08-13 10:26:17 -07:00
..
__tests__ Move files in Phabricator one level up 2012-06-01 12:32:44 -07:00
celerity Avoid resolving path in celerity resource map 2012-06-08 17:20:52 -07:00
daemon Separates the PID and log directories of daemons 2012-08-05 08:35:24 +02:00
diff Make inline comment preview work in Diffusion 2012-07-23 11:01:28 -07:00
edges Adding Ponder-related files. 2012-08-10 10:44:04 -07:00
events Add an event for looking up names from repositories 2012-07-24 11:59:28 -07:00
internationalization Add a meta-application 2012-08-02 14:07:21 -07:00
javelin Move files in Phabricator one level up 2012-06-01 12:32:44 -07:00
lint Add a basic notification UI element 2012-06-13 15:00:24 -07:00
markup Adding Ponder-related files. 2012-08-10 10:44:04 -07:00
query Reverse project paging order 2012-08-11 07:05:45 -07:00
storage Use Lisk sets in fact update iterator 2012-08-13 10:26:17 -07:00
testing Move files in Phabricator one level up 2012-06-01 12:32:44 -07:00
util Fix a memory leak in PhabricatorGlobalLock 2012-08-10 11:28:43 -07:00
PhabricatorAccessLog.php Move files in Phabricator one level up 2012-06-01 12:32:44 -07:00
PhabricatorEnv.php Allow specifying custom syntax highlighter 2012-06-26 19:37:45 -07:00
PhabricatorScopedEnv.php Move files in Phabricator one level up 2012-06-01 12:32:44 -07:00
PhabricatorSetup.php Use official PHP mirror 2012-06-21 10:48:37 -07:00