Only serialize the requested depth #1619
Merged
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.
Clarify the meaning of
max_depth
when serializing a library of bloqs.This PR introduces two "types" of serialization: shallow and full. When the bloq is within
max_depth
decompositions of the root bloqs (ie those passed into the function), mark it for full serialization. If the bloq is only referred to by other bloqs, do a shallow serialization.A shallow serialization includes the bloq name, signature, and attributes. A full serialization adds the decomposition and resource counts.
Bloqs encountered only via references in attributes will receive a shallow serializaiton. Bloqs referenced by decompositions but who themselves are outside
max_depth
receive shallow serialization.The default value of
max_depth
is kept at1
, but this effectively removes one level of decomposition for the traditional decomp hierarchy and potentially infinite levels from composing-via-bloq-attributes.This PR changes the serialization check for hubbard model (large) from > 1000 seconds to approx 7.
fixes #953
also fixes #1618