Skip to content

Refactor SerdeJson to use Arc and raw pointers for efficient sub-node access.#45

Open
copybara-service[bot] wants to merge 1 commit into
mainfrom
test_944573884
Open

Refactor SerdeJson to use Arc and raw pointers for efficient sub-node access.#45
copybara-service[bot] wants to merge 1 commit into
mainfrom
test_944573884

Conversation

@copybara-service

Copy link
Copy Markdown

Refactor SerdeJson to use Arc and raw pointers for efficient sub-node access.

The SerdeJson struct now holds an Arc to the root serde_json::Value and a raw pointer to the specific node it represents. This allows creating cheap views into sub-objects and array elements without deep cloning, improving performance for read operations. Mutation is restricted to the root node and is disallowed for sub-node views. PartialEq and Clone are updated to reflect this new structure.

@google-cla

google-cla Bot commented Jul 8, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@copybara-service copybara-service Bot force-pushed the test_944573884 branch 2 times, most recently from 5b5547f to c34cbd2 Compare July 8, 2026 18:55
… access.

The SerdeJson struct now holds an Arc to the root serde_json::Value and a raw pointer to the specific node it represents. This allows creating cheap views into sub-objects and array elements without deep cloning, improving performance for read operations. Mutation is restricted to the root node and is disallowed for sub-node views. PartialEq and Clone are updated to reflect this new structure.

PiperOrigin-RevId: 944573884
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

Successfully merging this pull request may close these issues.

0 participants