My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2325: Very slow diff page for large files
9 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by chai...@rocketfuelinc.com, Dec 10, 2013
Affected Version: 2.8

What steps will reproduce the problem?
1. Open a patchset diff for a large file (2.5 MB in our case, or >110,000 lines)
2. Wait

What is the expected output? What do you see instead?
I expect to see the page render somewhat quickly. Rather, it takes over a minute. During that time, it is running javascript code, with Chrome using an entire core on my machine for that tab.

Please provide any additional information below.

There is no network activity during this time. The server has responded with the file content itself, so it is purely running javascript at this point.

I am pretty sure this was faster in 2.6.x (but not certain), so this may be a regression in the new version.

Jun 24, 2014
#1 oswald.b...@gmx.de
i confirm that the upgrade 2.2.2 => 2.7 caused a severe slowdown of the diff view.
so slow in fact, that firefox regularly thinks the script is hanging.

Jul 4, 2014
#2 oswald.b...@gmx.de
chromium is literally an order of magnitude faster (unfortunately, it just isn't a very good browser overall), so with firefox it already becomes annoying at around 1k lines and almost unusable at 10k lines.

the biggest java file i found in gerrit itself is ReceiveCommits.java. if you open for example https://gerrit-review.googlesource.com/#/c/37320/8/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java,unified , it will take about five seconds on my machine with firefox, which is borderline bearable for a single file. a combined view of multiple files (as we have on qt-project.org) would be a PITA for that change.

what are the chances to have it fixed anytime soon?
if low, any pointers where to start investigating?

Jul 30, 2014
Project Member #3 David.Os...@gmail.com
The link you've provided is using deprecated prettify based unified screen. The most recent Gerrit versions are using Codemirror JavaScript library for side by side 2 screen and this change is pending for review to switch to Codemirror for unified 2 screen as well [1].

[1] https://gerrit-review.googlesource.com/49171
Sign in to add a comment

Powered by Google Project Hosting