ENH: New ClusterName class which parses names of clusters
Introduces a new C++ class for parsing names (i.e. ECI, cluster and CF names, since they're all the same). This provides a minor performance improvement for updating CF's during MC, as we were re-parsing the names upon every iteration. But since the names are static, we can pre-parse them and store them in memory instead. This is nice, since we potentially do these string parsing many million times (something like number of steps * number of eci * 2
times). It's not a major performance boost, but it does shave some time (on the order of ~10 µs/step in my test system), depending on the number of ECI's.
Also adjust how symbols are read from python Atoms object in the initializer of the CEUpdater. This is just some re-factoring.
Edited by Alexander Tygesen