Homec4science

Conpherence - use some handle pools for Durable column perf

Authored by Bob Trahan <btrahan@phacility.com> on May 9 2015, 03:14.

Description

Conpherence - use some handle pools for Durable column perf

Summary:
Ref T7708.

This changes things to $viewer->loadHandles where applicable in the durable column render stack. I saw some big wins on my test data like 34 queries => 24 queries on a newly created room as my default thread.

For my test data, the next big perf win would be to change how remarkup rendering works and try to multiload all objects of a certain type in one shot.
e.g. PhabricatorEmbedFileRemarkupRule implements loadObjects as do all classes which inherit from PhabricatorObjectRemarkupRule. This is because PhabricatorObjectRemarkupRule implements its didMarkupText method using loadObjects, and didMarkupText gets called per transaction over in PhabricatorMarkupEngine->process(). Instead, the loadObjects in didMarkupText should be hitting some cache, and we should do a bulk load for all PhabricatorEmbedFileRemarkupRule that had matches earlier in the rendering stack. ...I think.

Test Plan: carefully looked at "Services" tab in dark console and noted fewer queries with changes post changes versus pre changes

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T7708

Differential Revision: https://secure.phabricator.com/D12780

Details

Committed
Bob Trahan <btrahan@phacility.com>May 9 2015, 03:14
Pushed
aubortJan 31 2017, 17:16
Parents
rPHdd8e4ff056af: Trim transaction overload when converting events from all-day and back
Branches
Unknown
Tags
Unknown

Event Timeline

Bob Trahan <btrahan@phacility.com> committed rPH99b4941c9ad3: Conpherence - use some handle pools for Durable column perf (authored by Bob Trahan <btrahan@phacility.com>).May 9 2015, 03:14