Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Only gc.collect() under windows#686

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
Byron merged 1 commit intogitpython-developers:masterfromjeblair:issue-605
Nov 2, 2017

Conversation

@jeblair
Copy link
Contributor

@jeblairjeblair commentedOct 9, 2017
edited
Loading

Under Windows, tempfile objects are holding references to open files
until the garbage collector closes them and frees them. Explicit
calls to gc.collect() were added to the finalizer for the Repo class
to force them to be closed synchronously. However, this is expensive,
especially in large, long-running programs. As a temporary measure
to alleviate the performance regression on other platforms, only
perform these calls when running under Windows.

Fixes#605

Under Windows, tempfile objects are holding references to open filesuntil the garbage collector closes them and frees them.  Explicitcalls to gc.collect() were added to the finalizer for the Repo classto force them to be closed synchronously.  However, this is expensive,especially in large, long-running programs.  As a temporary measureto alleviate the performance regression on other platforms, onlyperform these calls when running under Windows.Fixesgitpython-developers#553
openstack-gerrit pushed a commit to openstack-infra/zuul that referenced this pull requestOct 10, 2017
Timeout remote git operations after 300 seconds.Because it could be in an invalid state, delete the local repo if atimeout occurs (subsequent operations will recreate it).This replaces our use of the clone_from() and fetch() methods fromGitPython with lower-level equivalents.  The high-level methodsdo not currently permit the hard timeout.The GitPython requirement is changed to a temporary fork until bothgitpython-developers/GitPython#682andgitpython-developers/GitPython#686end up in a release.Change-Id: I7f680472a8d67ff2dbe7956a8585fb3714119e65
@ByronByron merged commitbfae362 intogitpython-developers:masterNov 2, 2017
@Byron
Copy link
Member

Thanks a lot for this fix!
Performance tests exist, but unfortunately were never integrated so that they could actually fail a build when a regression is detected.

riley-martine pushed a commit to riley-martine/GitPython that referenced this pull requestDec 7, 2023
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Performance degradation in 2.1.3

2 participants

@jeblair@Byron

[8]ページ先頭

©2009-2025 Movatter.jp