kolomat, раз в 3-4 минуты это не часто :) Если проблема с производительностью, то нужно профилировать и искать узкие места. Честно сказать, не думаю, что это долго работает, если там не супер огромный массив
Хотелось бы добавить, что такие числа правильно сравнивать так
abs(a - b) < epsilon
где a, b - это сравниваемые числа
epsilion - возможная погрешность, например, 1e-6