Closed dabacon closed 5 years ago
I also agree with this, NEW_THEN_INLINE is definitely more readable but wasteful for depth limited applications. I can take this issue. I'm assuming the main work will be to fix tests that rely on this default.
One issue I'm realizing with making EARLIEST the default is that it doesn't respect explicitly defined moments or OP_TREE structure. Will this be an issue for people using the APIs? What is the expectation in case of circuits specified as series of explicit moments?
Currently, passing more than one moment into append or insert is considered to be an error. And if you pass in a moment, it goes directly into the list without any re-arranging of the gates. So I don't think this will be an issue.
The default insertion strategy is currently NEW_THEN_INLINE. This is a) one of the most complicated insertion strategies, and b) not likely the one most NISQ folks want as they want to minimize depth. I think we should change the default to EARLIEST. I find myself changing this default a lot, which I think is a sign.