Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Высота бинарного дерева поиска http://www.cyberforum.ru/cpp/thread415798.html
Что неправильно в программе? Полное условие #include <iostream> #include <cstdio> #pragma comment (linker, "/stack:250000000") using namespace std;
C++ метод группового учета аргументов никак не могу разобраться хотел бы применить этот метод для прогнозирования сигналов которые состоят из координат времени и значения функции. кто реализовывал уже такое..? Добавлено через 2 часа 11 минут тоесть грубо говоря предсказать координаты следующей точки,имея в распоряжении проиндексированный массив точек. 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), один из алгоритмов выгрузки страниц. В программе должны присутствовать два глобальных массива, один из которых олицетворяет оперативную память, а другой, – внешний носитель. Размер каждого из массивов должен быть не менее чем 256 байт. Использование других глобальных переменных в программе запрещено (то...
C++ Системный таймер Нужно измерить время между пакетами, которые передаются по rs-232!!! Нужно использовать системный таймер и конкретно буфер OL!!! если есть разбирающиеся люди - отпишитесь пожалуйста!!! подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17464 / 5702 / 361
Регистрация: 30.03.2009
Сообщений: 15,654
Записей в блоге: 26
25.12.2011, 12:50     Непонятная разница в производительности
+1 к тому, что начинать надо с того, чтобы вырезать проблемную функцию в один короткий исходник и с ним уже экспериментировать.

Компилятор gcc, как универсальный, даёт заведомо более херовое качество кода по сравнению со специализированным компилятором. Но когда более херовый код даёт более качественное исполнение, то проблемы зачастую упираются в некоторые аппаратные особенности машины. В частности, на работе приходилось сталкиваться с тем, что агрессивные оптимизации начинают выбивать кэш данных. Т.е. математически программа должна работать быстрее, но физически получается так, что из-за переупорядочивания обращений в память начинает сильно просаживаться работа с кэшем (данные выбивают друг друга из кэша, т.к. кэш обычно строится в виде line'ов). Не факт, что в твоём случае это имеет место быть, поскольку проверялось на процессорах разных поколений, но фиг его знает на самом деле.

Вообще в таких делах используют какие-то runtime профилировщики: те, которые ничего не встраивают в рабочий код, а пытаются что-то сделать поверх работающего процесса. Я сам этим никогда не занимался, но могу попробовать спросить людей, если контакты их найду. Правда это были НЕ intel'овские архитектуры
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru