![]() |
Модераторы: Daevaorn Страницы: (40) « Первая ... 15 16 [17] 18 19 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
cuvorov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
IDEA - это IDE -?
Где про ние можно прочиать. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
-------------------- 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 |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
а не должна ![]() тут гы, с чего это вдруг он глупый push - команда сложная (3 микрооперации), если ее можно разбить на совокупность простых (в данном случае SUB (1 микрооперация) и MOV (2 микрооперации)), то это эффективнее т. к в современных процессорах так или иначе используется out of order исполнение, то процессору легче оптимизировать выполнение последовательности менее связанных микроопераций, нежели сильно связанных (как в случае push) кроме того, MOV атомарен, если адресный операнд выравнен по 4-х байтной границе (тут 16-ти байтное выравнивание), а PUSH - нет 1. Использование ESP в качестве базового регистра увеличивает размер команды на 1 байт
2. Использование дополнительного регистра чем не нравится CMP? Добавлено через 2 минуты и 22 секунды ну да, фактов того, что нет ![]() Это сообщение отредактировал(а) MAKCim - 26.6.2007, 15:21 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
то что не компилит gcc еще не о чем не говорит, в том топике не нашел ни одного факта кроме домыслов, стандартом можете не тыкать, по стандарту и раздельная компиляция шаблонов должна работать ![]() ну ну
ты предираешься к мелочам если хочешь доказать что gcc стоит на уровне VS будь добр представь нормальный пример где это будет видно, а пока gcc vs VS 0:1 ![]() |
|||
|
||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
что ну-ну?
если уж стандарт не авторитет, то... ![]() констатация фактов оптимизация и складывается из мелочей ![]()
каков критерий уровня VC++? что есть нормальный пример? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
||||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
посмотри первый пример, и сравни количество команд это значит что это ни есть правда, процессору лучше выполнять длиную команду чем много коротких, в свое время вливы не зря вводили ![]() дополнительный байт в команде никак не скажеться на общей скорости пример по которому реально можно будет сравнить компиляторы, я честно такого не знаю, если знаешь то давай и поставим точку. да не авторитет, т.к разработчики компиляторов тоже не безмозглые и знают че за чем.. |
|||
|
||||
Ulysses4j |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 4 Всего: 10 |
Не страшно, если честно... Наблюдать весь вышеразведенный флейм как-то безрадостно, но раз кому-то нравится... По ходу дискуссии возник один конструктивный вопрос:
А каковы аргументы того, что не должна? Вроде бы 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 |
||||||
|
|||||||
MAKCim |
|
||||||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
Comeau пойдет? тут ![]()
это смотря с какой стороны посмотреть длина команды зависит от времени ее декодирования, а оно в свою очередь влияет на общее время выполнения ![]()
странное мнение ![]() зачем нам конституция? президент ведь не безмозглый и знает че за чем...
чтобы не быть голословным пишем простой модуль ядра
на моем PIV 2.4 дает результат 126 заменяем pushl $0xABCDEFAB на subl $4, %esp movl $0xABCDEFAB, (%esp) и получаем 116 ![]() конечно, тут все идеализировано и на самом деле для более точного подсчета нужно изменить код, но тенденция, думаю, ясна ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||||||
|
|||||||||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Развёртывание push в соответствующие команды ни считаю ни недостатком, ни преимуществом. Пролого подрограммы вежливо скрытый встроенным дизасмом студии - предпочитаю не обращать внимание ![]() |
|||
|
||||
Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
откуда разница в 10 тактов? я понимаю была бы 3-4 но 10 это перебор, заставляет усомниться в правильности тестирования, если не сложно сделай по 10 тестов на каждое и усредни результат.
у нас не 1995 когда это было важным ![]() ок, будем считать что счет пока 0:0 ![]() надо пример на реальную оптимизацию и замерить время выполнения... и асмовый код, мож кто поделится примером? и предлагаю вынести это в отдельную тему gcc vs VS ![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
однозначно да ![]() ОК -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |