С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Непонятная разница в производительности - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Высота бинарного дерева поиска http://www.cyberforum.ru/cpp/thread415798.html
Что неправильно в программе? Полное условие #include <iostream> #include <cstdio> #pragma comment (linker, "/stack:250000000") using namespace std;
C++ метод группового учета аргументов никак не могу разобраться хотел бы применить этот метод для прогнозирования сигналов которые состоят из координат времени и значения функции. кто реализовывал уже такое..? Добавлено через 2 часа... http://www.cyberforum.ru/cpp/thread415481.html
Covert chanell/DNS C++
Помогите!прогу делать на сях, ось Линух задание - через DNS передача скрытых пакетов по каналу Covert Chanell. Проверять работу надо прогой WiresShark - тестировать будет на ней,пакеты должны быть...
C++ Что хотел сказать автор?
Код C++ #define MAX_SIZE (8192) signed char buf; почему нельзя записать: signed char buf; точнее, чем они могут различаться? MAX_SIZE используется только в одном месте, больше в коде...
C++ Моделирование страничной виртуальной памяти и алгоритмов свопинга http://www.cyberforum.ru/cpp/thread412017.html
Господа, в общем есть задание Написать программу, реализующую, согласно варианту (табл. 2), один из алгоритмов выгрузки страниц. В программе должны присутствовать два глобальных массива, один из...
C++ Системный таймер Нужно измерить время между пакетами, которые передаются по rs-232!!! Нужно использовать системный таймер и конкретно буфер OL!!! если есть разбирающиеся люди - отпишитесь пожалуйста!!! подробнее

Показать сообщение отдельно
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659

Непонятная разница в производительности - C++

25.12.2011, 11:55. Просмотров 11822. Ответов 18
Метки (Все метки)

Уважаемые эксперты!
Есть у меня программа на С++, код которой я транслировал в двух системах:
• Microsoft Visual Studio 2010 со штатным компилятором среды;
• Code::Blocks версии 10.05 с пакетом MinGW и компилятором g++ версии 4.6.1.
Проверка проводилась на следующей платформе:
• Процессор Intel® Core™ i3 CPU 530 @2.93, индекс производительности 6.9;
• Оперативная память 4 Гб, индекс производительности 5.9;
• Операционная система Windows 7 Максимальная, 64-разрядная.
Сделаны резизы в обеих системах
Трансляция в студии была сделана со следующими ключами (оптимизация и сопутствующие):
Без исключений = No, и RTTI = GR-
Без DLL = MT, SSE2, fp: fast
Smaoller Type Check = No,
Basic Runtime Checks = No
Buffer Sucurity Check = No
Оптимизация O2, Ot, Oy, GT, GL

Gcc транслировал с ключом O3 и -s
Процессор Intel Core 2 (но пробовал и Pentium 4 - MMX,SSE,SSE2, и даже 486)
Запускал из-под среды в режиме без отладки.

Все составные части проги работают примерно одинаково (хотя gcc-ная версия немного быстрее, но немного), а вот одна функция работает в студийной версии резко медленее, раз в 5.
Функция bfs - поиск в ширину на графе.
В качестве очереди используется стандартный дек.

Время смотрел грубо: перед вызовом и после вызова поставил clock() и взял разницу.
Проверял еще на своем ноуте с операционной системой XP - та же хрень.

Пока не нужно давать советов полезть в ассемблерный код.
Просто выскажите свои соображения из общих соображений.

Одно соображение уже видать:
для процессора Intel Core 2 gcc может генерить 64-битный код, а компилятор Студии делает 32-битный.
Но даже для 486 процессора код gcc получается сильно быстрее.

Ы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.