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

Addgit_mempack_write_thin_pack#6875

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
ethomson merged 1 commit intolibgit2:mainfromroberth:mempack-thin-packfile
Sep 27, 2024

Conversation

roberth
Copy link
Contributor

Unlike existing functions, this produces athin packfile by making use of the fact that only new objects appear in the mempack Object Database.

A thin packfile only contains certain objects, but not its whole closure of references. This makes it suitable for efficiently writing sets of new objects to a local repository, by avoiding many small I/O operations.

This relies onwrite_pack (e.g.git_packbuilder_write_buf) to implement the "recency order" optimization step.

Basic measurements comparing against the writing of individual objects show a speedup during when writing large amounts of content on machines with comparatively slow I/O operations, and little to no change on machines with fast I/O operations.

I have used this inNixOS/nix#11330, in conjunction with#6874

Ericson2314 reacted with heart emoji
@ethomson
Copy link
Member

Thanks! Really useful addition; I'll review this shortly. 🙏

roberth and Ericson2314 reacted with heart emoji

@Mic92
Copy link

@ethomson friendly ping.

Copy link
Member

@ethomsonethomson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Thanks for this. I made two very trivial minor suggestions in keeping with the library's styling. Otherwise, a great addition. 🙏

Unlike existing functions, this produces a _thin_ packfile bymaking use of the fact that only new objects appear in themempack Object Database.A thin packfile only contains certain objects, but not its wholeclosure of references. This makes it suitable for efficientlywriting sets of new objects to a local repository, by avoidingmany small I/O operations.This relies on write_pack (e.g. git_packbuilder_write_buf) toimplement the "recency order" optimization step.Basic measurements comparing against the writing of individualobjects show a speedup during when writing large amounts ofcontent on machines with comparatively slow I/O operations,and little to no change on machines with fast I/O operations.
@Mic92
Copy link

CI is green!

@ethomsonethomson merged commit9ddd72f intolibgit2:mainSep 27, 2024
19 checks passed
@Mic92
Copy link

Question, will this patch be part of the v1.8.2 or later?

@ethomson
Copy link
Member

I'm going to cut a release 🔜

roberth reacted with heart emoji

@roberth
Copy link
ContributorAuthor

Thank you@ethomson for reviewing and accepting!

@puffnfreshpuffnfresh mentioned this pull requestNov 10, 2024
5 tasks
@Ericson2314
Copy link

I'm going to cut a release 🔜

Any ETA on this?

theoparis and rszyma reacted with thumbs up emoji

@Mic92
Copy link

1.8.4 was released a while ago but this patch is no included. Are the patch releases made of a different branch?

theoparis and Ericson2314 reacted with thumbs up emoji

@Ericson2314
Copy link

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@Mic92Mic92Mic92 left review comments

@ethomsonethomsonethomson left review comments

Assignees
No one assigned
Labels
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

4 participants
@roberth@ethomson@Mic92@Ericson2314

[8]ページ先頭

©2009-2025 Movatter.jp