Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Компиляторы и IDE для C++ 
:(
    Опции темы
cuvorov
Дата 26.6.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.5.2007

Репутация: нет
Всего: нет



IDEA - это IDE -?
Где про ние можно прочиать.

PM MAIL   Вверх
Daevaorn
Дата 26.6.2007, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(cuvorov @  26.6.2007,  15:20 Найти цитируемый пост)
Где про ние можно прочиать.

а google уже закрыли?)
PM MAIL WWW   Вверх
archimed7592
Дата 26.6.2007, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



http://www.google.com/search?q=IDEA+IDE

Добавлено через 49 секунд
Daevaornsmile 


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
MAKCim
Дата 26.6.2007, 15:20 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(vinter @  26.6.2007,  10:53 Найти цитируемый пост)
да

а не должна  smile 
тут
Цитата(bsa @  26.6.2007,  11:54 Найти цитируемый пост)
Довольно глупый. И зачем было эмитировать команду push?

гы, с чего это вдруг он глупый
push - команда сложная (3 микрооперации), если ее можно разбить на совокупность простых (в данном случае SUB (1 микрооперация) и MOV (2 микрооперации)), то это эффективнее
т. к в современных процессорах так или иначе используется out of order исполнение, то процессору легче оптимизировать выполнение последовательности менее связанных микроопераций, нежели сильно связанных (как в случае push)
кроме того, MOV атомарен, если адресный операнд выравнен по 4-х байтной границе (тут 16-ти байтное выравнивание), а PUSH - нет
Цитата(vinter @  26.6.2007,  10:53 Найти цитируемый пост)
во втором разницы почти нет, хотя cmp мне не нравиться

1. Использование ESP в качестве базового регистра увеличивает размер команды на 1 байт
Цитата

00401020  mov         eax,dword ptr [esp+4] 

2. Использование дополнительного регистра
чем не нравится CMP?

Добавлено через 2 минуты и 22 секунды
Цитата(Daevaorn @  26.6.2007,  10:47 Найти цитируемый пост)
мне кажется или фактов нет

ну да, фактов того, что
Цитата(JackYF @  25.6.2007,  10:13 Найти цитируемый пост)
g++ точно от MS не отстает...

нет  smile 

Это сообщение отредактировал(а) MAKCim - 26.6.2007, 15:21


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
vinter
Дата 26.6.2007, 15:47 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(MAKCim @  26.6.2007,  16:20 Найти цитируемый пост)
а не должна   тут

то что не компилит gcc еще не о чем не говорит, в том топике не нашел ни одного факта кроме домыслов, стандартом можете не тыкать, по стандарту и раздельная компиляция шаблонов должна работать smile 
Цитата(MAKCim @  26.6.2007,  16:20 Найти цитируемый пост)
т. к в современных процессорах так или иначе используется out of order исполнение, то процессору легче оптимизировать выполнение последовательности менее связанных микроопераций, нежели сильно связанных (как в случае push)

ну ну
Цитата(MAKCim @  26.6.2007,  16:20 Найти цитируемый пост)
 Использование ESP в качестве базового регистра увеличивает размер команды на 1 байт

ты предираешься к мелочам
если хочешь доказать что gcc стоит на уровне VS будь добр представь нормальный пример где это будет видно, а пока gcc vs VS 0:1 smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
MAKCim
Дата 26.6.2007, 15:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(vinter @  26.6.2007,  15:47 Найти цитируемый пост)
ну ну

что ну-ну?
Цитата(vinter @  26.6.2007,  15:47 Найти цитируемый пост)
стандартом можете не тыкать, по стандарту и раздельная компиляция шаблонов должна работать

если уж стандарт не авторитет, то...
 smile 
Цитата(vinter @  26.6.2007,  15:47 Найти цитируемый пост)
ты предираешься к мелочам

констатация фактов
оптимизация и складывается из мелочей  smile 
Цитата(vinter @  26.6.2007,  15:47 Найти цитируемый пост)
если хочешь доказать что gcc стоит на уровне VS будь добр представь нормальный пример где это будет видно

каков критерий уровня VC++?
что есть нормальный пример?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Любитель
Дата 26.6.2007, 16:20 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(vinter @  26.6.2007,  15:47 Найти цитируемый пост)
gcc vs VS 0:1

Откуда ты такой результат взял? Факт-факты...  smile 


--------------------
PM MAIL ICQ Skype   Вверх
vinter
Дата 26.6.2007, 17:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(Любитель @  26.6.2007,  17:20 Найти цитируемый пост)
Откуда ты такой результат взял? Факт-факты...

посмотри первый пример, и сравни количество команд
Цитата(MAKCim @  26.6.2007,  16:56 Найти цитируемый пост)
что ну-ну?

это значит что это ни есть правда, процессору лучше выполнять длиную команду чем много коротких, в свое время вливы не зря вводили smile 
Цитата(MAKCim @  26.6.2007,  16:56 Найти цитируемый пост)
констатация фактовоптимизация и складывается из мелочей 

дополнительный байт в команде никак не скажеться на общей скорости
Цитата(MAKCim @  26.6.2007,  16:56 Найти цитируемый пост)
что есть нормальный пример?

пример по которому реально можно будет сравнить компиляторы, я честно такого не знаю, если знаешь то давай и поставим точку.
Цитата(MAKCim @  26.6.2007,  16:56 Найти цитируемый пост)
если уж стандарт не авторитет, то...

да не авторитет, т.к разработчики компиляторов тоже не безмозглые и знают че за чем..


--------------------
Мой блог
PM MAIL WWW   Вверх
Ulysses4j
Дата 26.6.2007, 17:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 6.6.2007
Где: Ростов-на-Дону

Репутация: 4
Всего: 10



Цитата(Любитель @  25.6.2007,  01:09 Найти цитируемый пост)
Такими фразами на винграде, наверно, лучше не раскидывать - затопчут   

Не страшно, если честно...

Наблюдать весь вышеразведенный флейм как-то безрадостно, но раз кому-то нравится...

По ходу дискуссии возник один конструктивный вопрос:
Цитата(MAKCim @  26.6.2007,  10:46 Найти цитируемый пост)
для начала 
VC++ сей код проглотит?
Код
template<class T> class A {
    template<class C> class B {
    };
    template<> class B<T> {
    };
};

Цитата(MAKCim @  26.6.2007,  16:20 Найти цитируемый пост)
а не должна 

А каковы аргументы того, что не должна? Вроде бы gcc не является reference implementation Стандарта. Укажите, пожалуйста, ссылку на соответствующие пункты упомянутого документа.

Добавлено @ 17:53
Поясню, почему означенный вопрос меня заинтересовал. У меня нет оригинального gcc под Linux. Есть порт под win32 - MinGW - не слишком свежей версии - 3.1.0. Так вот я писал как-то программу на шаблонах, которую VC++ компилировал прекрасно и все корректно работало (я получал то, что нужно), а MinGW компилировать отказывался. Из этого жизненного случая я сделал вывод, что MinGW 3.1.0 в меньшей степени удовлеторяет Стандарту, чем VC++ 8.0. Вероятно, вывод не очень строгий - но какой есть. И теперь когда gcc приводят как эталон, у меня возникают некоторые сомнения. Хотелось бы их в данном случае развеять.

Это сообщение отредактировал(а) Ulysses4j - 26.6.2007, 18:06


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
MAKCim
Дата 26.6.2007, 18:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(Ulysses4j @  26.6.2007,  17:48 Найти цитируемый пост)
А каковы аргументы того, что не должна? Вроде бы gcc не является reference implementation Стандарта.

Comeau пойдет?
тут  smile 
Цитата(vinter @  26.6.2007,  17:41 Найти цитируемый пост)
дополнительный байт в команде никак не скажеться на общей скорости

это смотря с какой стороны посмотреть
длина команды зависит от времени ее декодирования, а оно в свою очередь влияет на общее время выполнения  smile 
Цитата(vinter @  26.6.2007,  17:41 Найти цитируемый пост)
да не авторитет, т.к разработчики компиляторов тоже не безмозглые и знают че за чем.. 

странное мнение  smile 
зачем нам конституция? президент ведь не безмозглый и знает че за чем...
Цитата(vinter @  26.6.2007,  17:41 Найти цитируемый пост)
это значит что это ни есть правда, процессору лучше выполнять длиную команду чем много коротких, в свое время вливы не зря вводили 

чтобы не быть голословным
пишем простой модуль ядра
Код

.data
.asciz "%lu\n"

.text

.globl init_module
init_module:
    pushal
    rdtsc
    movl    %eax, %ebx
    pushl    $0xABCDEFAB
    rdtsc
    subl    %ebx, %eax
    pushl   %eax
    pushl   $.data
    call    printk
    addl    $12, %esp
    popal
    xorl    %eax, %eax
    decl    %eax
    ret

.globl cleanup_module
cleanup_module:
    ret

на моем PIV 2.4
дает результат 126
заменяем 
pushl $0xABCDEFAB 
на
subl $4, %esp
movl $0xABCDEFAB, (%esp)
и получаем 116  smile 
конечно, тут все идеализировано и на самом деле для более точного подсчета нужно изменить код, но тенденция, думаю, ясна  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Любитель
Дата 26.6.2007, 19:19 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(vinter @  26.6.2007,  17:41 Найти цитируемый пост)
посмотри первый пример, и сравни количество команд

Развёртывание push в соответствующие команды ни считаю ни недостатком, ни преимуществом. Пролого подрограммы вежливо скрытый встроенным дизасмом студии - предпочитаю не обращать внимание smile


--------------------
PM MAIL ICQ Skype   Вверх
Ulysses4j
Дата 26.6.2007, 19:27 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 6.6.2007
Где: Ростов-на-Дону

Репутация: 4
Всего: 10



MAKCim, да, Comeau - серьезный аргумент, 2:1 в вашу пользу. Но все же окончательно я успокоился, если бы меня в Стандарт носом ткнули - тут бы уже никаких счетов не надо было вести.


--------------------
Communication is critical to the job of a programmer.
C. Jazdzewski. Fatherly Advice To New Programmers
PM MAIL WWW   Вверх
vinter
Дата 26.6.2007, 19:46 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(MAKCim @  26.6.2007,  19:29 Найти цитируемый пост)
дает результат 126


Цитата(MAKCim @  26.6.2007,  19:29 Найти цитируемый пост)
и получаем 116

откуда разница в 10 тактов? я понимаю была бы 3-4 но 10 это перебор, заставляет усомниться в правильности тестирования, если не сложно сделай по 10 тестов на каждое и усредни результат.
Цитата(MAKCim @  26.6.2007,  19:29 Найти цитируемый пост)
это смотря с какой стороны посмотретьдлина команды зависит от времени ее декодирования, а оно в свою очередь влияет на общее время выполнения

у нас не 1995 когда это было важным smile 
Цитата(Любитель @  26.6.2007,  20:19 Найти цитируемый пост)
Развёртывание push в соответствующие команды ни считаю ни недостатком, ни преимуществом. Пролого подрограммы вежливо скрытый встроенным дизасмом студии - предпочитаю не обращать внимание 

ок, будем считать что счет пока 0:0 smile 
надо пример на реальную оптимизацию и замерить время выполнения... и асмовый код, мож кто поделится примером?
 и предлагаю вынести это в отдельную тему gcc vs VS  smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
MAKCim
Дата 26.6.2007, 20:43 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(vinter @  26.6.2007,  19:46 Найти цитируемый пост)
и предлагаю вынести это в отдельную тему gcc vs VS

однозначно да  smile 
Цитата(vinter @  26.6.2007,  19:46 Найти цитируемый пост)
если не сложно сделай по 10 тестов на каждое и усредни результат.

ОК



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Любитель
Дата 26.6.2007, 23:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 24
Всего: 92



Цитата(vinter @  26.6.2007,  19:46 Найти цитируемый пост)
и предлагаю вынести это в отдельную тему gcc vs VS

Поддерживаю!


--------------------
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0935 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.