-
Notifications
You must be signed in to change notification settings - Fork 169
feat: Add micro-benchmarks for writes comparing standard (regional) vs rapid (zonal) buckets. #1707
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
Conversation
…e analysis - Adjusted file size and rounds in config.yaml for better benchmarking accuracy. - Enhanced download object tests in test_reads.py to include random chunk downloading. - Refactored upload and download worker functions for improved clarity and performance.
…ersisted_size_sync to accept command-line arguments
…ve CRC32 performance measurement
…ects in Google Cloud Storage
- Introduced RandomBytesIO for generating random bytes on-the-fly, reducing memory usage during uploads. - Updated upload logic in test_writes.py to utilize RandomBytesIO instead of os.urandom. - Adjusted download logic in test_reads.py to correctly handle byte ranges. - Cleaned up config.py and conftest.py by removing commented-out code and unnecessary lines. - Minor adjustments in config_writes.yaml for clarity.
…ity and remove unused import in test_writes
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a micro-benchmarking suite for GCS writes, comparing regional (JSON) and zonal (gRPC) buckets under various concurrency scenarios. The overall structure is well-organized, with separate files for configuration, parameters, and tests. My review focuses on improving the correctness of the benchmark measurements, enhancing code clarity and maintainability, and adhering to Python best practices. Key suggestions include optimizing the data generation process within the benchmark loop to prevent skewed results, improving docstrings for better readability, and refactoring for clearer code.
…its purpose and usage
Uh oh!
There was an error while loading. Please reload this page.