Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Temporarily remove Operation class usage for 0.20 #7840

Merged
merged 2 commits into from
Mar 30, 2022
Merged

Temporarily remove Operation class usage for 0.20 #7840

merged 2 commits into from
Mar 30, 2022

Conversation

eliarbel
Copy link
Contributor

This PR temporarily removes Operation from being a base class for various circuit element types due to the performance degradation found in #7528 and given the fact that the Operation class intent is still not utilized in QuantumCirctuit.append

Summary

Details and comments

Removing Operation release notes
@eliarbel eliarbel requested review from a team and ikkoham as code owners March 30, 2022 11:17
@eliarbel
Copy link
Contributor Author

Properties inherited from Operation (such as name, num_qubits are left untouched in Instruction, CNOTDihedarl, Clifford and Pauli.

@mtreinish mtreinish added priority: high Changelog: None Do not include in changelog labels Mar 30, 2022
@eliarbel eliarbel mentioned this pull request Mar 30, 2022
2 tasks
@eliarbel eliarbel added this to the 0.20 milestone Mar 30, 2022
@@ -234,7 +234,6 @@
from .controlledgate import ControlledGate
from .instruction import Instruction
from .instructionset import InstructionSet
from .operation import Operation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to drop this here? This means we're not re-exporting the Operation class from the root qiskit.circuit. This will limit who has access to the class. I'm fine with that as we're saying for 0.20.0 we added the class but nothing uses it yet. Just wanted to make sure that was the intent

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, Matthew, I think it's better this way before we re-add it in way that solves #7528

Copy link
Member

@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM, thanks for doing this. Is there something we still need to do here to remove the WIP, I personally don't see anything missing from it.

@eliarbel eliarbel changed the title [WIP] Temporarily remove Operation class usage for 0.20 Temporarily remove Operation class usage for 0.20 Mar 30, 2022
@eliarbel
Copy link
Contributor Author

Nothing else to do, I was waiting for the CI to finish (my lint + tests are still running locally, nice to see how fast those servers are :-) ). WIP removed

@coveralls
Copy link

coveralls commented Mar 30, 2022

Pull Request Test Coverage Report for Build 2064899040

  • 13 of 13 (100.0%) changed or added relevant lines in 9 files are covered.
  • 16 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.01%) to 83.744%

Files with Coverage Reduction New Missed Lines %
qiskit/pulse/library/waveform.py 3 89.36%
qiskit/circuit/operation.py 13 0%
Totals Coverage Status
Change from base Build 2064574046: -0.01%
Covered Lines: 53150
Relevant Lines: 63467

💛 - Coveralls

@jakelishman jakelishman linked an issue Mar 30, 2022 that may be closed by this pull request
@mergify mergify bot merged commit 5e2d485 into Qiskit:main Mar 30, 2022
@eliarbel eliarbel deleted the revert_operation branch March 31, 2022 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: None Do not include in changelog priority: high
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance regression caused by #7087
3 participants