lcpp-org / RustBCA

A free, open-source Binary Collision Approximation (BCA) code for ion-material interactions including sputtering, implantation, and reflection
https://github.com/lcpp-org/RustBCA/wiki
GNU General Public License v3.0
41 stars 14 forks source link

[feature] Make Python interface faster by avoiding calling simple_bca in a loop #187

Closed drobnyjt closed 2 years ago

drobnyjt commented 2 years ago

Is your feature request related to a problem? Please describe. I think the overhead of the Python interface is caused by looping over simple_bca

Proposed solution Rewrite simple_bca_list_py to avoid looping over struct creation

Alternative solution(s) Consider reorganizing the Python interface

Additional context Can I spawn run the code in parallel if I'm using the Python interface?

drobnyjt commented 2 years ago

Added in dev branch. Still need to add documentation of the new function.