Is your feature request related to a problem? Please describe.
Currently, the most time-consuming part of the workflow is generating the experiments. A speedup would be desired especially for larger circuits with multiple cuts.
Describe the solution you'd like
This functionality would be the first candidate for migration to Qiskit C API. Based on very limited initial testing this could turn out to be quite simple even. Moving to the C API would also allow true parallelism which should result in a significant speedup. Since each experiment circuit is independent parallelization should be straight forward.
Describe alternatives you've considered
Alternatively, some form of parallelization could be achieved with Python multiprocessing but based on testing the overhead there eats all the performance gain. With Python 3.13 one could also consider using Python multithreading in nogil mode but this would not solve the issue for older Python versions.
Is your feature request related to a problem? Please describe.
Currently, the most time-consuming part of the workflow is generating the experiments. A speedup would be desired especially for larger circuits with multiple cuts.
Describe the solution you'd like
This functionality would be the first candidate for migration to Qiskit C API. Based on very limited initial testing this could turn out to be quite simple even. Moving to the C API would also allow true parallelism which should result in a significant speedup. Since each experiment circuit is independent parallelization should be straight forward.
Describe alternatives you've considered
Alternatively, some form of parallelization could be achieved with Python multiprocessing but based on testing the overhead there eats all the performance gain. With Python 3.13 one could also consider using Python multithreading in nogil mode but this would not solve the issue for older Python versions.