MontePy
MontePy copied to clipboard
Implement parallel parsing
Is your feature request related to a problem? Please describe.
With large models read_input can be very slow, on the order of 10+ minutes for something like ITER-C. See #509.
Describe the solution you'd like
One way to deal with this is to use parallel parsing. This can be done with multiprocessing or concurrent.futures. A few notes:
-
This will be fickle for windows support. End-users will always have to use
__name__=="__main__"guarding. Due to this serial and parallel parsing should be both supported and serial should be the default -
Error recovery during iteration is very complicated. Therefore
montepy -cshould only run in serial
Describe alternatives you've considered
A faster parser #432, or a just-in-time parsing #529