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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Странная ошибка при сборке nasm http://www.cyberforum.ru/cpp/thread356140.html
всем привет. нужно собрать nasm для вендус. использую MSYS+MinGW. configure прошел успешно. при сборке получаю такое: nasm.h:476:5: error: expected identifier before numeric constant nasm.h:882:26: error: 'PREFIX_ENUM_LIMIT' undeclared here (not in a function)
C++ Модификация AST дерева GCC всем привет. есть задумка реализовать для GCC плагин расширяющий/добавляющий некоторые возможности С++ языку. проблемы со сбором информации из AST нет. могу получить любую необходимую мне информацию о единице трансляции. но проблема в модификации AST. вопрос в том, может ли кто-то подсказать ссылки/доки/исходники по теме? спасибо. http://www.cyberforum.ru/cpp/thread355055.html
C++ Работа с const
Объясните пожалуйста разницу между вызовами двух функций: int func(const char *name) и int func(char *name) Я плохо понимаю - что дает этот спецификатор const? Что может произойти если его не указать?
Новый стандарт принят! C++
Barry Hedquist wrote: Just received word from ANSI that the C++ FDIS has officially been approved by ISO in a unanimous vote. 21 of 21 National Bodies voted to APPROVE. Под FDIS подразумевается N3290 (отличия которого от N3291 незначительны — см. comp.std.c++ — difference between documents n3290 and n3291->...
C++ mpl проход по элементам http://www.cyberforum.ru/cpp/thread327906.html
Пытался написать вывод элементов vector_c не через for_each. Не вышло. Кто подскажет как сие сделать наиболее удобно? Пример вектора. typedef boost::mpl::vector_c<char, 'h', 'e', 'l', 'l', 'o'>::type vector; Спасибо.
C++ Compile-time алгоритмы. сборник всем привет. предлагаю в этой теме обсуждать/реализовывать/выкладывать compile-time алгоритмы. под CUT'ом. подсчет FNV1a-хеш суммы строк: #include <iostream> template<size_t N, size_t I=0> подробнее

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

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

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