sorted triangles versus triangle strips

assume i have an indexed vertex array.
i can now do 2 optimizations :
a) build triangle strips
b) reorder the triangles, so that i get the highest possible number of cache hits.

at the first thought, i’d say strips are faster - you have to pass (maybe a lot, maybe only a few) less indicies to the rendering pipelines.
at the second, strips can’t be build like i want to. their order is hardly variable, since they’re strips.
i could get a lot more cache hits by reordering indices/triangles.

so, which method is better ?