two general comments on this thread as a whole... 1) it's hard to compare the timing of a query with no synonyms and a query with a lot of synonyms since the number of terms increases and (most likely) the number of documents matched in increases as well.
the more clauses in the query, the more work that is done when executing it; the more docs that match each clause, etc... switching to index time synonyms is probably going to speed this up as much as it possibly can, becuase the number clauses isn'tgoing to expand (but you still have the added cost of "visiting" each matching doc. 2) it's not clear from this thread if the timing info you got involved the queryResultCache at all ... if you are using that cache in your performance tests, you may be seeing the effects of LUCENE-1415 (a bad hashCode implementation that resulted in cache misses) ... the more synonyms in your query, the more likely you are to get a cache miss even if the "same" query has already been executed. https://issues.apache.org/jira/browse/SOLR-805 https://issues.apache.org/jira/browse/LUCENE-1415 -Hoss