Page MenuHomePhabricator

PerformanceTag
ActivePublic

Watchers

  • This project does not have any watchers.
  • View All

Recent Activity

Apr 15 2020

epriestley closed T13507: Compress Conduit client requests as Resolved.

One possible improvement remains here: in streaming mode, HTTPSFuture will not "Accept-Encoding: gzip" and can not inflate responses. Today, this only applies to arc download.

Apr 15 2020, 6:58 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 15 2020, 6:35 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 15 2020, 12:28 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 15 2020, 12:16 PM · Performance, Conduit

Apr 14 2020

epriestley added a comment to T13507: Compress Conduit client requests.

There's also one minor related concern in PHI1638 that I want to take care of here, since it's adjacent.

Apr 14 2020, 11:52 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 14 2020, 11:47 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 14 2020, 11:45 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 14 2020, 11:21 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 14 2020, 9:52 PM · Performance, Conduit
epriestley added a comment to T13507: Compress Conduit client requests.

In fairness, "SetInputFilter DEFLATE" is documented as uniquely opinionated, if you catch this box and read between the lines a little bit:

Apr 14 2020, 9:45 PM · Performance, Conduit
epriestley added a comment to T13507: Compress Conduit client requests.

A grand aventure in PHI1679 led to identifying the Apache "SetInputFilter DEFLATE" directive as a problem with implementing compression.

Apr 14 2020, 9:40 PM · Performance, Conduit
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 14 2020, 9:25 PM · Performance, Conduit

Apr 11 2020

epriestley closed T11968: Decide the fate of FutureGraph as Resolved.

"FutureGraph" is dead. Long live "HardpointEngine".

Apr 11 2020, 2:41 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley closed T11968: Decide the fate of FutureGraph, a subtask of T11954: Improve performance of Arcanist/Conduit/Diffusion, primarily through better caching, as Resolved.
Apr 11 2020, 2:41 PM · Performance, Diffusion, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 11 2020, 1:44 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 11 2020, 1:40 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 10 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 10 2020, 2:51 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 10 2020, 1:06 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

Generators can't "return" until PHP 7:

Apr 10 2020, 11:43 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 10 2020, 11:39 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 9 2020

epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 9 2020, 8:27 PM · Performance, Conduit
epriestley added a comment to T13507: Compress Conduit client requests.

PHP has a setting called post_max_size. If a POST request is larger than this size, PHP does not populate $_POST or $_FILES.

Apr 9 2020, 8:22 PM · Performance, Conduit

Apr 8 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 7:37 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 7:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T13507: Compress Conduit client requests: Restricted Differential Revision.
Apr 8 2020, 4:21 PM · Performance, Conduit
epriestley claimed T13507: Compress Conduit client requests.
Apr 8 2020, 3:58 PM · Performance, Conduit
epriestley triaged T13507: Compress Conduit client requests as Normal priority.
Apr 8 2020, 3:58 PM · Performance, Conduit
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 3:55 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 3:47 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 8 2020, 3:35 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

XHPAST currently can't build an AST for $result = yield ..., even though this is a valid construct. This is probably a straightforward fix.

Apr 8 2020, 1:27 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 5 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 5 2020, 12:50 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 3 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 3 2020, 7:03 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 3 2020, 6:56 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

XHPAST currently can't build an AST for $result = yield ..., even though this is a valid construct. This is probably a straightforward fix.

Apr 3 2020, 2:38 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Apr 1 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Apr 1 2020, 5:33 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 28 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

I have some code which runs and looks plausible (i.e., not covered in piles of callback garbage), at least:

Feb 28 2020, 4:58 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 27 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

Here's an actual example of loadHardpoints($objects, $hardpoint):

Feb 27 2020, 5:21 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

In the specific case of the Hardpoints, we currently often have code which loads objects but doesn't do anything with them. For example, most Query classes use didFilterResults() to fill things-that-sure-look-like-hardpoints, but few do anything with the results.

Feb 27 2020, 3:30 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 27 2020, 2:53 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 27 2020, 2:13 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 27 2020, 12:17 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 26 2020

epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 8:30 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 7:34 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 4:59 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a revision to T11968: Decide the fate of FutureGraph: Restricted Differential Revision.
Feb 26 2020, 4:39 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

The core idea in D5104 + D5105 is that $future->resolve() and id(new FutureIterator(array($future)))->next() (like, roughly) execute meaningfully different code paths.

Feb 26 2020, 4:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

Somewhere in experimental or wilds, I introduced ArcanistConduitEngine. This has some weird fake future stuff going on, so this is probably now ripe.

Feb 26 2020, 4:14 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist

Feb 13 2020

epriestley added a comment to T11968: Decide the fate of FutureGraph.

Probably require PHP 5.4 regardless.

Feb 13 2020, 1:29 PM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist
epriestley added a comment to T11968: Decide the fate of FutureGraph.

A problem in moving forward here is that we ultimately do very little complex data access in Phabricator, and what complex data access we do perform can often be faked. We likely have more use cases in Arcanist and provisioning code: API calls are slower, workflows are more parallel/interactive, and we can't just fake it all with AJAX.

Feb 13 2020, 3:59 AM · Diffusion, Performance, Conduit, Infrastructure, Restricted Project, Arcanist