Используйте WebWorker и вынесите туда всю логику по формированию виртуального дом, а когда сформируете перебором нужную строку, верните всё в основной скрипт и вставьте разом. Таким образом страница не будет подвисать из-за расчетов и уж тем более не следует в цикле менять DOM, 1 раз формируется, 1 раз вставляется.