I've often come across problems where (as a subproblem) I need to decide whether a list of numbers contains only primes or at least one nonprime. Is there an efficient way to do this?
Right now I tend to check all to see if they pass a probable-prime test, then use a primality-proving program on each in turn. (Nothing drastic like ECPP, just BPSW for numbers under $2^{64}$ and APR-CL for larger numbers. If the numbers are large I need specialized software to do this efficiently.)
Can this be reasonably improved? I'm actually looking for something efficient in practice (see note), so don't bring up AKS or the like.
Maybe testing for small prime factors is worthwhile -- build up a product of some small primes and take GCDs.
Note
This question could have been asked either here or on StackOverflow; I thought that if I posted it there I would get only tweaks rather than (possibly) a better approach.