⚡️ Speed up method LogsArchiveStorageClassS3Type.openapi_types by 18%
#14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📄 18% (0.18x) speedup for
LogsArchiveStorageClassS3Type.openapi_typesinsrc/datadog_api_client/v2/model/logs_archive_storage_class_s3_type.py⏱️ Runtime :
2.20 microseconds→1.86 microsecondss(best of44runs)📝 Explanation and details
The optimization moves dictionary creation from runtime to module load time by extracting the dictionary
{"value": (str,)}into a module-level constant_OPENAPI_TYPES_LOGSARCHIVESTORAGECLASSS3TYPE.Key Change: Instead of creating a new dictionary object every time
openapi_typesis accessed, the method now returns a pre-existing dictionary that was created once when the module was imported.Why it's faster: Dictionary literal creation in Python involves allocation and initialization overhead. By moving this to module load time, we eliminate repeated object creation during runtime. Even though
@cached_propertycaches the result per instance, the original code still had to create the dictionary on the first access for each instance.Performance characteristics: The 18% speedup is most significant for workloads with frequent
openapi_typesaccess across multiple instances, as demonstrated in the bulk instance test. The optimization provides consistent benefits regardless of access patterns since it eliminates the dictionary creation bottleneck entirely.✅ Correctness verification report:
🌀 Generated Regression Tests and Runtime
To edit these changes
git checkout codeflash/optimize-LogsArchiveStorageClassS3Type.openapi_types-mgcixkq5and push.