Pretty much, though interestingly you get a comparable speed gain by doing the same thing with maya.cmds, and probably pymel too (didn't test that tho).
Basically:
-getting flat lists of unconnected nodes is fast (all shapes, all bump nodes, all deformers)
-getting and setting attrs on individual objects is fast
-pythons 're' module is fast
-getting lists via connectivity via wildcards is incredibly slow, ie, don't treat the DAG as a unix filesystem and /*/*/*Shape your way around, it sucks
-if you can rethink your search to first get all objects, then filter your saved list based on attrs of those objects, do that (list conprehensions FTW)
-the API is weird, but I understand it a little better now after this experiment, which is nice. maybe time to write a plugin in pyAPI?