1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-21 01:38:48 +02:00
phorge-phorge/src
epriestley 7c502e3e4e Fix performance issue with large changesets in Differential
Summary:
Fixes T3151. Javelin treats a behavior without parameters as a global behavior and invokes it only once no matter how many times it is initialized (this is necessarily correct for any reasonable behavior, as the inputs do not vary). A recent patch changed `differential-dropdown-menus` from a zero-argument global behavior to an implicitly nonzero-argument behavior by adding `pht`.

Currently, we initialize the behavior next to dropdown menu creation, so this resulted in `O(N^2)` initializations of the menus. For large diffs, this locks browsers. Instead, initialize outside of the dropdown loop so we ginitialize each menu just once.

Test Plan: Viewed a 2,000 file diff without browser lock.

Reviewers: wez, vrana, btrahan

Reviewed By: wez

CC: aran

Maniphest Tasks: T3151

Differential Revision: https://secure.phabricator.com/D5885
2013-05-10 05:39:44 -07:00
..
aphront Display bullet next to request with errors in DarkConsole. 2013-04-25 18:30:13 -07:00
applications Fix performance issue with large changesets in Differential 2013-05-10 05:39:44 -07:00
docs Document [name](href) style links 2013-05-08 18:12:28 -07:00
infrastructure Fail quietly when failing to write access log 2013-05-09 16:08:26 -07:00
view Fix two IE issues. 2013-05-08 09:41:49 -07:00
__celerity_resource_map__.php Clean up inline edit ui 2013-05-09 16:09:29 -07:00
__phutil_library_init__.php Delete license headers from files 2012-11-05 11:16:51 -08:00
__phutil_library_map__.php DiffusionFileContentQuery => Conduit 2013-05-07 14:57:08 -07:00