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

JSON parallel test execution #192

Open
jmafoster1 opened this issue May 24, 2023 · 2 comments
Open

JSON parallel test execution #192

jmafoster1 opened this issue May 24, 2023 · 2 comments

Comments

@jmafoster1
Copy link
Contributor

Is your feature request related to a problem? Please describe.
The JSON frontend currently executes test suites in a for loop. For large datasets, this can be quite slow. It would be good if we could execute tests in parallel to speed things up a bit, although it is desirable to preserve the order in which results are presented.

I believe the easiest way to do this would be to have the msg object be returned, and then we could just use multiprocessing and pool.map.

@christopher-wild
Copy link
Contributor

After spending more time than I want to admit looking at this, it sadly isn't as simple a solution as I first thought.

When sending the arguments of the _execute_test_case function into the pool.map, they get pickled. However the CausalTestCase object is not pickleable due to this error message:

ValueError: ctypes objects containing pointers cannot be pickled, which is not something I have ever come across before.

I've tried using dill as an alternative and more flexible serialisation library but that returns an almost identical error as well.

Going to look into it a bit more but it might be a larger task than we first thought

@jmafoster1
Copy link
Contributor Author

Thanks for looking into this Chris. It's not a massive priority if it's going to take up a lot of time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants