Есть следующий код (вычисление числа Фибоначчи неэффективным способом, и с помощью исключений): #include <iostream> void fib(int k) { if (k<=1) throw int(k); try { fib(k-1); } catch(int a) { try { fib(k-2); } catch(int b) { throw a+b; } } } int main() { try { fib(30); } catch(int x) { std::cout<<x<<std::endl; } } компилируем, выполняем, мерим время работы: $ g++ -o fib fib.cpp $ time -p ./fib 832040 real 22.89 user 22.87 sys 0.00 теперь то же проделываем, используя mingw и wine: $ i586-mingw32msvc-g++ -o fib.exe fib.cpp $ time -p wine ./fib.exe 832040 real 2.67 user 2.62 sys 0.01 Чем же уважаемые посетители ЛОРа объяснят почти 9-е кратное преимущество в скорости варианта, скомпиленного под Windows?
Ответ на:
комментарий
от mv
Ответ на:
комментарий
от Adjkru
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Почему ifstream не читает нормальные значения из sysfs? (2020)
- Форум [бенчмарк] С++ медленне С в 5 раз при уже при 0.1% кидаемых исключений [ЧЯДНТ ?] (2009)
- Форум Порт не освобождается после закрытия приложения (2017)
- Форум boost::python Как получить указатель на python функцию и вызвать ее из C++ кода? (2017)
- Форум Обработка исключений (2008)
- Форум обработка исключений. как? (2007)
- Форум Python: обработка исключений (2005)
- Форум Haskell и обработка исключений. (2013)
- Форум Обработка исключений в ядре (2015)
- Форум обработка исключений в C++ (2003)