Open Bug 1363403 Opened 7 years ago Updated 2 years ago

Facebook profile navigation start: access the user photo profile from a post

Categories

(Core :: JavaScript Engine, defect, P3)

55 Branch
x86_64
Windows 10
defect

Tracking

()

Performance Impact low

People

(Reporter: arus, Unassigned)

References

(Blocks 1 open bug, )

Details

(Keywords: perf, Whiteboard: [QRC_Analyzed])

Name: Firefox
Version: 55.0a1
Windows 10 64 bit
buildID: 20170508030204

Steps to reproduce:
1. Launch browser.
2. Fill Facebook.com in Navigation Start, then press enter.
3. Login with credentials.
4. Record with Gecko Profile:
   Tap on a user photo profile from first post you have displayed.
5. Share the profile.

Gecko profile:
https://perfht.ml/2q0k3mJ

Notes:
https://docs.google.com/spreadsheets/d/1Kxn850VasyaG_WfRg3pMInW0hbIT8LP7pRPBYTIpdbM/edit?pli=1#gid=679575660
https://perfht.ml/2rlP3yz
Here's the Gecko profile obtained on Acer Aspire e15.
Version: 55.0a1
Windows 10 64 bit
buildID: 20170518030213
Please take in consideration only this profile obtained on Acer Aspire e15, the above one is not accurate: https://perfht.ml/2q0e1zC
Assignee: nihsanullah → nobody
Blocks: QRC_FX57
Summary: STR Facebook access the user photo profile from a post → Facebook profile navigation start: access the user photo profile from a post
Whiteboard: [QRC][QRC_NeedAnalysis]
David, please do an analysis on the profile listed in comment 2. Thanks,Jean
Assignee: nobody → dvander
Flags: needinfo?(dvander)
This profile is almost exclusively in JS. It looks like we're stuck in the interpreter calling into fun_apply where the target is also interpreted. I don't know whether this function is supposed to be JIT'd or not, but speculatively assigning to the JS: JIT component.
Assignee: dvander → nobody
Component: General → JavaScript Engine: JIT
Flags: needinfo?(dvander)
Whiteboard: [QRC][QRC_NeedAnalysis] → [QRC_Analyzed][qf]
Kannan can you please take a look at this one?
Flags: needinfo?(kvijayan)
Whiteboard: [QRC_Analyzed][qf] → [QRC_Analyzed][qf:p1]
It doesn't seem like this is a jittable case.  Looking down the JS trace, all the Function.apply calls are happening at different locations in the source code.  Given that the repro steps involve loading the page fresh, and then performing the user photo profile.. I'm expecting that this is cold code.

We can't get this into the JIT, I suspect.  The quick-but-unsatisfying answer based on the above reasoning is just "make the interpreter faster".
Flags: needinfo?(kvijayan)
Updating the Gecko Profile based on the latest benchmark measurements.

Name: Firefox
Version: 57.0a1
Windows 10 64 bit
buildID: 20170910220126


Gecko Profile: https://perfht.ml/2w1a58P
This bug won't be address within 57; I am changing it from qf:p1 to qf:p3 for post 57 work.
Whiteboard: [QRC_Analyzed][qf:p1] → [QRC_Analyzed][qf:p2]
Keywords: perf
Whiteboard: [QRC_Analyzed][qf:p2] → [QRC_Analyzed][qf:p3]
(In reply to Kannan Vijayan [:djvj] from comment #6)
> It doesn't seem like this is a jittable case.  Looking down the JS trace,
> all the Function.apply calls are happening at different locations in the
> source code.  Given that the repro steps involve loading the page fresh, and
> then performing the user photo profile.. I'm expecting that this is cold
> code.
> 
> We can't get this into the JIT, I suspect.  The quick-but-unsatisfying
> answer based on the above reasoning is just "make the interpreter faster".
Component: JavaScript Engine: JIT → JavaScript Engine
Priority: -- → P3
Performance Impact: --- → P3
Whiteboard: [QRC_Analyzed][qf:p3] → [QRC_Analyzed]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.