Modify ↓
#11971 closed enhancement (fixed)
Improve git repository performance
Reported by: | Jun Omae | Owned by: | Jun Omae |
---|---|---|---|
Priority: | normal | Milestone: | 1.0.6 |
Component: | plugin/git | Version: | |
Severity: | normal | Keywords: | |
Cc: | Branch: | ||
Release Notes: |
|
||
API Changes: | |||
Internal Changes: |
Description
We often use log:
links with git repository in ticket. The ticket view with the links is too slow. We should improve the performance of git repository.
- The git connector constructs revisions cache for parents, children, branches and tags. The construction is performed each request if
persistent_cache
option is disabled. We could improve it. - The revisions cache is created each request if repository is not modified. Caching refs using
git for-each-ref
and detecting the modification could reduce times of the creation. git for-each-ref
is executed to the number of shown changesets in log view. Caching name and revision of tags could avoid the executions.
Attachments (0)
Change History (4)
comment:1 by , 10 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 10 years ago
git for-each-ref
is executed to the number of shown changesets in log view. Caching name and revision of tags could avoid the executions.
Proposed changes in [bcc519c7c/jomae.git].
Timing of log view with the following repository.
before | after | |
---|---|---|
jomae.git | 2709ms | 1097ms |
libgit2 | 2755ms | 1248ms |
comment:3 by , 10 years ago
- The revisions cache is created each request if repository is not modified. Caching refs using
git for-each-ref
and detecting the modification could reduce times of the creation.
In [03c1d875c/jomae.git], detects that git repository is modified using git show-ref
and creates revisions cache only when it is modified.
Note:
See TracTickets
for help on using tickets.
Especially, that's pretty slow if a repository has many branches.
Proposed changes in [4c265be70/jomae.git].