Opened 13 years ago
Last modified 2 years ago
#10606 new enhancement
GitPlugin: Improve performance
Reported by: | Peter Suter | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | next-dev-1.7.x |
Component: | plugin/git | Version: | 1.0dev |
Severity: | critical | Keywords: | performance |
Cc: | Jun Omae | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
Created as part of the move of GitPlugin. Tickets originally reported for th:GitPlugin: #746
Quoting hvr:
- try to create an additional
libgit-thin
-basedStorage
inPyGIT.py
to evaluate whether the exec+fork+parse overhead is still signifikant- most external
git
calls can be avoided now thanks to extensive caching of meta-data; one of the remaining speed killers is listing directories in the source browser (cat-file -s
calls can be optimized, by using GIT 1.5.3+-l
option tols-tree
; but having to callrev-list
for each folder element still remains an issue… maybe it'll be possible to get an enhancement tols-tree
merged upstream to provide that information as well…)
See also: TracDev/Performance/Git
Attachments (0)
Change History (10)
comment:2 by , 12 years ago
Description: | modified (diff) |
---|---|
Keywords: | performance added |
comment:3 by , 12 years ago
Milestone: | → next-dev-1.1.x |
---|---|
Severity: | normal → critical |
Version: | → 1.0dev |
Well, libgit-thin
seems to have lived, but libgit2/pygit2 are alive and kicking.
The performance boost is very significative, see jomae.git@pygit2.
comment:4 by , 11 years ago
Cc: | added |
---|
In the jomae.git@pygit2 branch, tracopt.versioncontrol.git.*
has been replaced with pygit2 integration. But, I reconsider the following.
- While Trac 1.1.x, pygit2 integration is located in
tracopt.versioncontrol.pygit2.*
with low priority than git executable. Users can choice between git executable and pygit2 integration. - When release of Trac 1.2
- If the pygit2 integration is stable,
tracopt.versioncontrol.git.*
is replaced with pygit2 or increase priority of pygit2 inIRepositoryConnector.get_supported_types()
. - If it isn't stable yet, leave its location and priority.
- If the pygit2 integration is stable,
- For Trac 1.0 and 0.12 users, register pygit2 plugin on trac-hacks. It is to get feedback of pygit2 integration from other than trunk users.
Thoughts?
comment:6 by , 11 years ago
Thanks for response. First, I've registered and committed as TracPygit2Plugin on trac-hacks.
comment:8 by , 9 years ago
Milestone: | next-dev-1.1.x → next-dev-1.3.x |
---|
Narrowing focus for milestone:1.2. Please move ticket to milestone:1.2 if you intend to fix it.
Also, the 3 commits from last November in https://github.com/andersk/trac-git-plugin/commits/deforkify seem to be very interesting.Sorry, they're already in… looked in the wrong place.