diff options
author | Rowan Bohde <rowan.bohde@gmail.com> | 2024-11-01 22:29:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-02 11:29:37 +0800 |
commit | 7dcccc3bb19655a6f83dd495ffc332708d0c8678 (patch) | |
tree | c859447a811114dbe300311f12dd24787d3e39cf /modules/templates/util_misc.go | |
parent | ec2d1593c269e06655525deb96f74b8094221b6f (diff) | |
download | gitea-7dcccc3bb19655a6f83dd495ffc332708d0c8678.tar.gz gitea-7dcccc3bb19655a6f83dd495ffc332708d0c8678.zip |
improve performance of diffs (#32393)
This has two major changes that significantly reduce the amount of work
done for large diffs:
* Kill a running git process when reaching the maximum number of files
in a diff, preventing it from processing the entire diff.
* When loading a diff with the URL param `file-only=true`, skip loading
stats. This speeds up loading both hidden files of a diff and sections
of a diff when clicking the "Show More" button.
A couple of minor things from profiling are also included:
* Reuse existing repo in `PrepareViewPullInfo` if head and base are the
same.
The performance impact is going to depend heavily on the individual diff
and the hardware it runs on, but when testing locally on a diff changing
100k+ lines over hundreds of files, I'm seeing a roughly 75% reduction
in time to load the result of "Show More"
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'modules/templates/util_misc.go')
0 files changed, 0 insertions, 0 deletions