1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-21 22:32:41 +01:00
phorge-arcanist/scripts
epriestley 4eb6b97097 Export extends/implements information in the new libphutil library map
Summary:
For `PhutilSymbolLoader` queries which include `setAncestorClass()`, we need the map of which classes/interfaces things extend/implement to issue the query efficiently.

Without this map, we need to load //every// class/interface and then do `is_subclass_of()`. This is doable, but not very performant if we don't have php-fpm warmup. There are a few performance-sensitive interfaces where we run queries like this, including some in Arcanist, where we'll never have warmup.

This map isn't particularly difficult to generate or maintain, so just include it in symbol generation and in the library map.

Also set parallelism with a flag, since it was arbitrarily hard-coded and adding flags is easy. 8 actually seems approximately optimal on my machine at least, though.

Test Plan: Ran "phutil_rebuild_map.php", opened library map, got a reasonable extension map.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Maniphest Tasks: T1103

Differential Revision: https://secure.phabricator.com/D2585
2012-05-29 11:17:34 -07:00
..
__init_script__.php Change order of include_path 2012-05-25 10:08:28 -07:00
arcanist.php Allow users to define shell aliases in arc with "!" 2012-05-23 17:52:37 -07:00
phutil_analyzer.php Help the analyzer find phutil_is_hiphop_runtime 2012-05-01 18:16:11 -07:00
phutil_mapper.php 'arc liberate', convenience wrapper for various libphutil operations 2011-05-17 09:53:19 -07:00
phutil_rebuild_map.php Export extends/implements information in the new libphutil library map 2012-05-29 11:17:34 -07:00
phutil_symbols.php Export extends/implements information in the new libphutil library map 2012-05-29 11:17:34 -07:00