Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is a large pwrite() more efficient than many concurrent smaller pwrite()'s? #32

Open
steveyen opened this issue May 9, 2017 · 0 comments

Comments

@steveyen
Copy link
Member

steveyen commented May 9, 2017

In moss, it might have a large segment (many megabytes) that needs to be written or appended to the end of the file.

Is it more efficient to call pwrite() once with the entire segment's large data buffer, where perhaps the OS/filesystem knows how to efficiently split that up into concurrent I/O channel use...

...or, should moss split the big buffer into multiple, smaller, block-aligned sections, where moss can spawn off multiple goroutines to invoke several pwrite()'s concurrently.

Which one is faster / utilizes more I/O bandwidth or channels?

@steveyen steveyen changed the title is a large pwrite() faster than many concurrent smaller pwrite()'s? is a large pwrite() more efficient than many concurrent smaller pwrite()'s? May 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant