|How many machines are you talking about here?|
It can be quite slow to ping with the timeouts involved and that needs multiplied over the number of machines. There are ways of speeding things up by using multiple threads, machines or both.
Also when you say 8-20 tries do you mean one attempt after another of staggered over a period of time?
Is this over lan or internet connections, fast or slow?
Are third party tools an option? There might be something out there that can pick up your list and do the job for you.
It is certainly possible, but without the details it is a little hard to say which direction is best.