[DRAFT - perf test] [Storage Blob] XML deserialization perf combo#46952
Draft
l0lawrence wants to merge 209 commits into
Draft
[DRAFT - perf test] [Storage Blob] XML deserialization perf combo#46952l0lawrence wants to merge 209 commits into
l0lawrence wants to merge 209 commits into
Conversation
…ndition MatchConditions.Unconditionally represents the default behavior (no condition applied), so it should not count as a user-specified access condition. Previously, the truthy check on match_condition caused Unconditionally to be treated as a condition, preventing the overwrite=False path from injecting IfMissing. Also drop the standalone etag check since etag is only meaningful when paired with a match_condition. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts: # sdk/storage/azure-storage-blob/samples/blob_samples_authentication.py # sdk/storage/azure-storage-blob/samples/blob_samples_authentication_async.py # sdk/storage/azure-storage-blob/samples/blob_samples_batch_delete_blobs.py # sdk/storage/azure-storage-blob/samples/blob_samples_client_side_encryption.py # sdk/storage/azure-storage-blob/samples/blob_samples_common.py # sdk/storage/azure-storage-blob/samples/blob_samples_common_async.py # sdk/storage/azure-storage-blob/samples/blob_samples_container_access_policy.py # sdk/storage/azure-storage-blob/samples/blob_samples_container_access_policy_async.py # sdk/storage/azure-storage-blob/samples/blob_samples_containers.py # sdk/storage/azure-storage-blob/samples/blob_samples_containers_async.py # sdk/storage/azure-storage-blob/samples/blob_samples_query.py # sdk/storage/azure-storage-blob/samples/blob_samples_service.py # sdk/storage/azure-storage-blob/samples/blob_samples_service_async.py # sdk/storage/azure-storage-blob/samples/blob_samples_walk_blob_hierarchy.py # sdk/storage/azure-storage-blob/tests/avro/test_avro.py # sdk/storage/azure-storage-blob/tests/avro/test_avro_async.py # sdk/storage/azure-storage-blob/tests/encryption_test_helper.py # sdk/storage/azure-storage-blob/tests/perfstress_tests/T1_legacy_tests/_test_base_legacy.py # sdk/storage/azure-storage-blob/tests/perfstress_tests/T1_legacy_tests/list_blobs.py # sdk/storage/azure-storage-blob/tests/perfstress_tests/_test_base.py # sdk/storage/azure-storage-blob/tests/perfstress_tests/download_basic.py # sdk/storage/azure-storage-blob/tests/perfstress_tests/list_blobs.py # sdk/storage/azure-storage-blob/tests/settings/testcase.py # sdk/storage/azure-storage-blob/tests/test_append_blob.py # sdk/storage/azure-storage-blob/tests/test_append_blob_async.py # sdk/storage/azure-storage-blob/tests/test_blob_access_conditions.py # sdk/storage/azure-storage-blob/tests/test_blob_access_conditions_async.py # sdk/storage/azure-storage-blob/tests/test_blob_client.py # sdk/storage/azure-storage-blob/tests/test_blob_client_async.py # sdk/storage/azure-storage-blob/tests/test_blob_encryption.py # sdk/storage/azure-storage-blob/tests/test_blob_encryption_async.py # sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2.py # sdk/storage/azure-storage-blob/tests/test_blob_encryption_v2_async.py # sdk/storage/azure-storage-blob/tests/test_blob_service_properties.py # sdk/storage/azure-storage-blob/tests/test_blob_service_properties_async.py # sdk/storage/azure-storage-blob/tests/test_blob_tags.py # sdk/storage/azure-storage-blob/tests/test_blob_tags_async.py # sdk/storage/azure-storage-blob/tests/test_block_blob.py # sdk/storage/azure-storage-blob/tests/test_block_blob_async.py # sdk/storage/azure-storage-blob/tests/test_block_blob_sync_copy.py # sdk/storage/azure-storage-blob/tests/test_block_blob_sync_copy_async.py # sdk/storage/azure-storage-blob/tests/test_common_blob.py # sdk/storage/azure-storage-blob/tests/test_common_blob_async.py # sdk/storage/azure-storage-blob/tests/test_container.py # sdk/storage/azure-storage-blob/tests/test_container_async.py # sdk/storage/azure-storage-blob/tests/test_cpk_n.py # sdk/storage/azure-storage-blob/tests/test_cpk_n_async.py # sdk/storage/azure-storage-blob/tests/test_get_blob.py # sdk/storage/azure-storage-blob/tests/test_get_blob_async.py # sdk/storage/azure-storage-blob/tests/test_helpers.py # sdk/storage/azure-storage-blob/tests/test_large_block_blob.py # sdk/storage/azure-storage-blob/tests/test_logging.py # sdk/storage/azure-storage-blob/tests/test_logging_async.py # sdk/storage/azure-storage-blob/tests/test_page_blob.py # sdk/storage/azure-storage-blob/tests/test_page_blob_async.py # sdk/storage/azure-storage-blob/tests/test_quick_query.py # sdk/storage/azure-storage-blob/tests/test_quick_query_async.py # sdk/storage/azure-storage-blob/tests/test_retry.py # sdk/storage/azure-storage-blob/tests/test_retry_async.py # sdk/storage/azure-storage-blob/tests/test_transports.py
Overlays the perf-related _generated/ changes from PR Azure#46600 (antisch-xmlperf2) onto the storage blob TypeSpec migration (PR Azure#45133), to evaluate combined perf: - _generated/_utils/model_base.py: XML deserializer helpers and field-plan builder (output of microsoft/typespec PR Azure#10698 generator changes). - _generated/_utils/serialization.py: Header deserialization fast path. - _generated/models/_models.py: Regenerated with per-field deserializer bindings using the new XML deserializer helpers. - _generated/models/_patch.py: Anna's customizations (precomputed defaults, XML field plan). Preserves the _asdict backcompat shim for Azure CLI/knack. Operations files intentionally NOT overlaid because Anna's branch carries unrelated TypeSpec source drift (parameter reordering, doc rewrites). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
Author
|
/azp run python - storage-blob - perf |
|
No pipelines are associated with this pull request. |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Member
Author
|
/azp run python - storage-blob - perf |
|
Azure Pipelines successfully started running 1 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Perf testing branch — Combines three changesets to evaluate XML deserialization performance:
storageblob3)_generated/files from Deserialization Perf Test #46600Files overlaid from #46600
_generated/_utils/model_base.py_build_xml_field_plan)_generated/_utils/serialization.py_generated/models/_models.pydeserializer=bindings_generated/models/_patch.py_asdictshim preservedIntentionally NOT overlaid
_generated/operations/_operations.pyandaio/operations/_operations.pyfrom Deserialization Perf Test #46600 carry unrelated TypeSpec source drift (parameter reordering, doc rewrites), not perf-related.Do NOT merge
Draft branch for perf-test benchmarking only.
Refs #45133, #46600, microsoft/typespec#10698.