Right, it's the actual lookup of the CHARMM parameter information that
takes the time. That's tricky to speed up (and at 0.4s I don't think
it's worth worrying about too much) because of the way these parameters
are specified (more than one parameter can be given for each dihedral,
and wildcards need to be checked). But there were some unnecessary
copies in there which I just removed - that should speed it up some.