From 7652cd43e36f8f6544ddcfc766339a7a3a00fe46 Mon Sep 17 00:00:00 2001 From: daxfohl Date: Wed, 15 Jun 2022 09:57:17 -0700 Subject: [PATCH 1/2] Make CircuitOp.fromjson more efficient --- cirq-core/cirq/circuits/circuit_operation.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/cirq-core/cirq/circuits/circuit_operation.py b/cirq-core/cirq/circuits/circuit_operation.py index a6056657920..bfbd367056a 100644 --- a/cirq-core/cirq/circuits/circuit_operation.py +++ b/cirq-core/cirq/circuits/circuit_operation.py @@ -474,13 +474,16 @@ def _from_json_dict_( repeat_until=None, **kwargs, ): - return ( - cls(circuit, use_repetition_ids=use_repetition_ids, repeat_until=repeat_until) - .with_qubit_mapping(dict(qubit_map)) - .with_measurement_key_mapping(measurement_key_map) - .with_params(param_resolver) - .with_key_path(tuple(parent_path)) - .repeat(repetitions, repetition_ids) + return cls( + circuit=circuit, + repetitions=repetitions, + repetition_ids=repetition_ids, + use_repetition_ids=use_repetition_ids, + repeat_until=repeat_until, + qubit_map=dict(qubit_map), + measurement_key_map=measurement_key_map, + parent_path=tuple(parent_path), + param_resolver=param_resolver, ) # Methods for constructing a similar object with one field modified. From 2d11d6af1cf2bfde089c8da3a7f9c06fd3c5e9a6 Mon Sep 17 00:00:00 2001 From: daxfohl Date: Wed, 15 Jun 2022 13:02:51 -0700 Subject: [PATCH 2/2] check build --- cirq-core/cirq/circuits/circuit_operation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cirq-core/cirq/circuits/circuit_operation.py b/cirq-core/cirq/circuits/circuit_operation.py index bfbd367056a..f4049685204 100644 --- a/cirq-core/cirq/circuits/circuit_operation.py +++ b/cirq-core/cirq/circuits/circuit_operation.py @@ -480,10 +480,10 @@ def _from_json_dict_( repetition_ids=repetition_ids, use_repetition_ids=use_repetition_ids, repeat_until=repeat_until, + param_resolver=param_resolver, qubit_map=dict(qubit_map), measurement_key_map=measurement_key_map, parent_path=tuple(parent_path), - param_resolver=param_resolver, ) # Methods for constructing a similar object with one field modified.