История изменений
Исправление www_linux_org_ru, (текущая версия) :
Так push(10005000) откатит стек на 10005000 (> 1024 * 1024) uint-ов и запишет (куда-то) 10005000 (то есть SIGSEGV)
а с каких это пор «железный стек» сам че-то проверяет и не допускает SIGSEGV ?!
нет уж, «софтовый стек» для benchmark-а должен работать так же
отмечу, что я тестил «софтовый стек» на основе кода drBatty, где malloc реализован мной через push *с проверкой* и pop — у меня получилось небльшая разница (в пределах 10%, gcc -O2)
то, что написал drBatty, это тест, *совершенно* не относящийся к вопросу «железный стек vs. софтовый стек», и поэтому даже модифицированную его версию я постить НЕ БУДУ, чтобы не уводить разговор в сторону
Исходная версия www_linux_org_ru, :
Так push(10005000) откатит стек на 10005000 (> 1024 * 1024) uint-ов и запишет (куда-то) 10005000 (то есть SIGSEGV)
а с каких это пор «железный стек» проверяет на SIGSEGV ?!
нет уж, «софтовый стек» для benchmark-а должен работать так же
отмечу, что я тестил «софтовый стек» на основе кода drBatty, где malloc реализован мной через push *с проверкой* и pop — у меня получилось небльшая разница (в пределах 10%, gcc -O2)
то, что написал drBatty, это тест, *совершенно* не относящийся к вопросу «железный стек vs. софтовый стек», и поэтому даже модифицированную его версию я постить НЕ БУДУ, чтобы не уводить разговор в сторону