Все можно улучшить при желании. Однако цена вопроса так и не озвучена.
Я не к тому, что у тебя все плохо скорее наоборот. Просто хотелось бы уточнить твою скорость, потому что при таком соотношении (4:1) разность может плавать существенно. А насчет цены -- видимо, автор темы хотел бы получить алгоритм на шару.