@timzallmann there a couple ways to go about it. 1 is easier, 2 is more precise.
Find a branch in CE on GitLab.com that has a lot of changes (e.g. new-resolvable-discussion), go to the CE repo in your local installation, and open a new MR with that branch.
I wrote a little script that makes a defined number of changes to lines and files in a given repo. I cloned CE from my local GDK's CE, and applied the changes and pushed them. Feel free to use the script or roll your own. Mine's pretty rudimentary. https://gitlab.com/brycepj/diff-maker/blob/master/index.js
5 seconds is spent compiling the resolving diff notes buttons. EDIT I wonder if having pre-compiled templates here would help.
A lot of time is spent init'ing the tabs.
Still a fair amount of time spent with the timeagos
I'm not sure what it is but something in Vue is wasting a lot of time. EDIT I think this is Vue setting up watchers, so maybe we could improve the Vue stuff a little.
The affix plugin is a little slower than it probably should be. I'm curious why we even have this on the sidebar
A lot of time re-calculating styles. I'm guessing reducing some HTML & changing some styles should improve this.
Getting the breakpoint size isn't great. I guess this is the :visible selector which isn't great for performance. Maybe we should hard code the values here. I don't see them changing
I don't see anything in the above that we can't solve over a few releases. @timzallmann can we look at getting this scheduled? For large merge requests I think we improve significantly, for smaller merge requests it'll give a nice boost! I don't mind looking at a few of them
Cool @iamphill nice job. I think this falls under discussion. So that would be our team. Here's a link to the codepen that (something like this) should make the breakpointing faster.
https://codepen.io/anon/pen/QMgjRE
Fwiw, I think the problems presented in the Repo Editor MR are more related to MRs with large numbers of comments, not large diffs. So, I think it makes sense to close this and move ongoing discussion/work over to https://gitlab.com/gitlab-org/gitlab-ce/issues/36258 (someone feel free to re-open if you disagree)-- I know @iamphill's already made some headway here, but I'd also be glad to help chipping away at this once it's scheduled.
Is this still actively being worked on? Right now, I can barely scroll using the trackpad due to performance... are you guys making sure to throttle your onscroll listeners? Using the keyboard to navigate up/down works fine.
@mattfysh Yes, we are actively working right now on this by refactoring the discussion + changes tab completely in Vue. The discussion tab work is already done and was merged but it is currently hidden behind a cookie. As you can guess this is a huge undertaking and will take perhaps 1 or 2 more releases, but be assured there is no one more interested then we are as we work with big MR's every day. As soon as we have the refactoring in we have on top of that, big possibilities to fine tune the whole View for big MR's.
@timzallmann Is there a more recent tracking bug for performance issues? - we still have a lot of trouble with diffs being extremely slow to load or even not loading at all (my colleague just had a 500 from sheer number of files changed). Regarding load times I wonder to what degree are diffs cached / precomputed on upload?