This paper compares two proposed alternatives to conventional instruction caches: a scratchpad memory (SPM) and a method cache. The comparison considers the true and the estimated worst-case execution time (WCET) of programs using both an SPM and a method cache, using large numbers of randomly-generated programs. For these programs, it finds that a method cache is preferable to an SPM if the true WCET is used, because it leads to execution times that are no greater than those for SPM, and are often lower. However, it also finds that analytical pessimism is a significant problem for a method cache. If WCET bounds are derived by analysis, the WCET bounds for an instruction SPM are often lower than the bounds for a method cache. This means that a SPM may be preferable in practical systems.