только недавно переписывал
чтобы загнать в базу все названия файлов и директорий большого файлового архива
думаю рекурсия выжрала бы всю доступную память и аварийно закончила бы скрипт
А Вы не думайте. Собственно, не вижу особой разницы по расходу памяти между стеком вызовов и стеком директорий. Хотя, конечно, и в том и в другом варианте написать можно как угодно, вплоть до нехватки памяти.
*****
всего лишь пара миллионов файлов и чуть более 98 тысяч каталогов
к тому же значительная часть имен - транслит
средняя длина имени файла если верить мускулу 76 символов
средняя длинна пути если верить тому же мускулу 52 символа(при этом я незначащую часть пути обрезал)
так как это достаточная причина чтобы не баловаться с рекурсией?
и ты хочешь сказать, что все эти два лимона ты держал в памяти, а не записывал, сразу получив, имя файла в базу, держа в памяти только цепочку родительских каталогов?