Вопрос в следующем, есть ли смысл биться с таймаутом при данном алгоритме, либо лучше использовать другой более шустрый алгоритм.