rigetti / qiskit-rigetti

Qiskit provider serving Rigetti hardware & simulator backends.
Apache License 2.0
7 stars 7 forks source link

Improve multi-job performance #20

Open dbanty opened 2 years ago

dbanty commented 2 years ago

Right now, the status() method of RigettiQCSJob immediately blocks, waiting for results. To speed things along we should somehow make the polling/waiting for results asynchronous so that status() can return immediately and properly indicate whether the results are ready to fetch via result().

A couple options:

  1. A threadpool (maybe in the backend, maybe with green threads) that jobs use to wait on their results.
  2. A new QCS backend method for checking status which status() calls (either blocking or threaded periodically) rather than getting the results being the only way to get status.