you said avoid patterns and symbolism then also to use efficient patterns?
did you know mathematica uses a form of hashing to search for symbols ? (associative arrays, like awk does)
the Mathematica books discuss efficiency as well. for example: Dispatch is an old feature which was built for efficiency
but you are right. besides "testing every equation", it would be useful to know what parts of Mathematica are doing and what they're Big O is.
In[2119]:= Unprotect[In, Out];
In[2120]:= Clear[In, Out];
In[2121]:= Protect[In, Out];
In[2122]:= $HistoryLength = 5;
In[2123]:= MemoryInUse[]
Out[2123]= foo