I am playing with your python bindings and have identified that the function call making the bindings much slower than the executable. https://github.com/krab1k/ChargeFW2/blob/bef336cfbc239c78acd7e47ad9bc476c99cca24e/src/python.cpp#L53
for pdb id 3vw0, the bindings take nearly 10 seconds to fulfill_requirements while in the executable it takes 1.3 milliseconds. This is nearly 4 orders of magnitudes slower.
I am creating a pipeline where I need to run thousands of proteins through chargefw2 and I am doing this in python so I need the bindings to be as fast as the executable.
Can you explain to me the reason why you put fulfill_requirements in the Molecule constructor and not in the charge calculation (where the method requirements are known)?
I want to refactor your bindings but first need to understand why you wrote them this way to begin with.
I am playing with your python bindings and have identified that the function call making the bindings much slower than the executable. https://github.com/krab1k/ChargeFW2/blob/bef336cfbc239c78acd7e47ad9bc476c99cca24e/src/python.cpp#L53
for pdb id 3vw0, the bindings take nearly 10 seconds to fulfill_requirements while in the executable it takes 1.3 milliseconds. This is nearly 4 orders of magnitudes slower.
I am creating a pipeline where I need to run thousands of proteins through chargefw2 and I am doing this in python so I need the bindings to be as fast as the executable.
Can you explain to me the reason why you put fulfill_requirements in the Molecule constructor and not in the charge calculation (where the method requirements are known)?
I want to refactor your bindings but first need to understand why you wrote them this way to begin with.