1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-10 00:42:40 +01:00
No description
Find a file
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
bin Minor, correct arc handling of relative symlinking (from @makinde). 2012-04-02 16:33:36 -07:00
externals arc lint: fix/enable PEP8 linter 2011-05-18 16:47:23 -07:00
resources Provide a simpler analyzer script for killing __init__.php 2012-05-24 10:56:56 -07:00
scripts Export extends/implements information in the new libphutil library map 2012-05-29 11:17:34 -07:00
src Provide api to get committed data in a hook 2012-05-25 15:28:45 -07:00
.arcconfig Automatically detect when to mark revisions committed 2011-09-27 11:06:02 -07:00
.divinerconfig Fix docs links after D2181 and D2182 2012-04-10 11:32:09 -07:00
.gitignore Pre-fill template fields under "arc diff --create" in git 2012-02-28 17:00:35 -08:00
LICENSE Initial commit. 2011-01-09 15:22:25 -08:00
README Update Arcanist README text 2011-11-06 18:12:50 -08:00

WHAT IS ARCANIST?

Arcanist is the command-line tool for Phabricator. It allows you to interact
with Phabricator installs to send code for review, download patches, transfer
files, view status, make API calls, and various other things. You can find
a complete user guide here:

  http://www.phabricator.com/docs/phabricator/article/Arcanist_User_Guide.html

For more information about Phabricator, see:

  http://phabricator.org/