⚡️ Speed up method OnCallPagingApi.acknowledge_on_call_page by 26%
#11
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.
📄 26% (0.26x) speedup for
OnCallPagingApi.acknowledge_on_call_pageinsrc/datadog_api_client/v2/api/on_call_paging_api.py⏱️ Runtime :
1.92 milliseconds→1.53 milliseconds(best of49runs)📝 Explanation and details
The optimization eliminates the creation of an intermediate dictionary in the
acknowledge_on_call_pagemethod.What changed:
kwargsdictionary and assignment ofkwargs["page_id"] = page_idcall_with_http_info(**kwargs)to direct keyword argumentcall_with_http_info(page_id=page_id)Why it's faster:
The original code creates a new dictionary object and performs a dictionary key assignment on every method call. The optimized version passes the parameter directly as a keyword argument, eliminating both the dictionary allocation and the key assignment operation. This reduces memory allocations and CPU cycles per call.
Performance characteristics:
Based on the test results, this optimization shows the most significant speedups (77-90%) when called with UUID instances in tight loops or batch operations. The improvement is less pronounced but still meaningful (15-25%) for string UUIDs and error cases, as the dictionary overhead is a smaller portion of the total execution time when additional validation/conversion work is involved.
This optimization is particularly effective for high-frequency API usage patterns where the same endpoint is called repeatedly, as evidenced by the large-scale test cases showing substantial improvements when processing hundreds of requests.
✅ Correctness verification report:
🌀 Generated Regression Tests and Runtime
To edit these changes
git checkout codeflash/optimize-OnCallPagingApi.acknowledge_on_call_page-mgc5hab0and push.