In order to give some idea about the performance, I give some figures measured on a machine with a dual core Intel E5300 2.6 GHz CPU and 4 GB of RAM. On this, a database with 41921 molecule entries (coming from nmrshiftdb2) was used.
So times vary. They depend on the following factors a) the size of the substructure to search (larger means the subgraph isomorphism is slower) b) the specificity of the substructure ("unusual" bits will give a better prefiltering) and c) on the cut-off. Experience shows that in practice the algorithm works well, but you can always found slow cases (I think this is the case with any substructure search).
Exact structure searches are fast and practically in constant time, since the SMILES is used (in theory the SMILES generation takes longer with larger structures, but this is in the millisecond range).
The similarity searches are also fast, since they only use the prefiltering step (milliseconds in the mentioned setup) is used.
Inserting the mentioned 41921 structures into the database from an sdf took around 40 minutes. This gives around a thousand structures per minute. Time includes time for reading the sdf, generating InChI and (chiral) smiles and calculating weight.