Известны 10 преимуществ Паскаля перед Си:) Я приведу только одно, но самое важное. На Си вы можете написать: for(;P("\n").R--;P("\ "))for(e=0x3DC;e--;P("_ "+(*u++/8)%2))P("| "+ (*u/4)%2); На Паскале Вы НЕ МОЖЕТЕ такого написать.
какждые новые 4к стека будут стоить как 1000 инструкций(ну не 1000, 500), да, разово для каждого нового блока. Но не хиленько так. там можно забыть какие инструкции медленнее с таким то оверхедом.
Это я к тому, что теперь есть представление что почём и что сердцевину всех циклов не стоит городить из FPU, лучше заранее сгенерировать таблицы и собирать данные по индексам. Память не жаль, в отличии от тактов.
В общем стек такая штука - пока вы не превышаете 4кб его можете стек не экономить, а вот если приближаетесь к его использованию в 4кб и более - попробуйте найти обходные решения и начните его экономить.
а если программа постоянно использует такой объём стека, то затраты на пейдж фолты можно не учитывать, вот если такой объем понадобился один раз для какой-нибудь операции, которая якобы должна оптимизировать, вот тут уже надо репу чесать