New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 725727 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Task

Blocking:
issue 661986



Sign in to add a comment

Create perftests for very long sessions.

Project Member Reported by kkhorimoto@chromium.org, May 24 2017

Issue description

A large number of users reported significant lag and hanging when upgrading to M58.  This was due to a non-performant serialization algorithm that caused lagging when serializing extremely long session histories.  None of our existing tests nor our manual testers had ever tested with such a large history, so this was shipped to our users.  We should include perftests that ensure that there is not lot lag introduced for these test cases. 
 
Blockedon: 661986
Owner: huangml@chromium.org
Status: Assigned (was: Untriaged)
Note that the issue that was shipped with M58 has since been fixed.  However, it's still true that a navigation on one Tab will cause the entire session history of every other Tab to be re-serialized along with it.  Performance issues have improved, but are not fully optimized quite yet.
Blockedon: -661986
Blocking: 661986
Code has been serialising all WebState at each change for a really long time (issue 661986 was create from a TODO by original code introduced by pinkerton when the serialisation on iOS was introduced). I don't think thinking this bug should block developping perf test, in fact I think it should be the other way around, we should wait for making changes that could impact perf before we can measure them.
Cc: pinkerton@chromium.org

Comment 4 by danyao@chromium.org, May 24 2017

Cc: danyao@chromium.org
Components: UI>Browser>Sessions Test>iOS
Hi Kurt, could you please add components next time you assign the bug?

Thank you very much!
Cc: eugene...@chromium.org
Not sure how we want to reproduce this under test, but to reproduce this locally I had a script that generated n number of .html pages, each one with a javascript trigger to load the next one (Rohit's idea!), and then I just browsed to the first page and let it run. IIRC to do about 4,000 navigation events took maybe 15 minutes. 

I'm happy to help here however possible.
Components: -Test>iOS Tests>Missing
Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment