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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> array, vector или new...[], что лучше??? 
:(
    Опции темы
Daevaorn
Дата 23.4.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(archimed7592 @  23.4.2007,  20:09 Найти цитируемый пост)
International Standard (Programming languages - C++, ISO-IEC, IS-14882, Second edition, 2003-10-15)слово принуждает в Ожегове посмотри, плз ;)

Я не про слово спрашивал, а про его суть в том конкретном контексте в котором оно было написано. По этому самому стандарту, который ты привел, "принудить" компилятор не может даже слово inline.
Так что уход от ответа, это не очень хороший стиль разговора;)
PM MAIL WWW   Вверх
archimed7592
Дата 23.4.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Daevaorn @  23.4.2007,  19:24 Найти цитируемый пост)
"принудить" компилятор не может даже слово inline.
ааа... ты об этом smile
ну если компилятор соответствует Стандарту и ф-ция может быть заинлайнена, то это произойдёт... я это имел ввиду...



--------------------
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   Вверх
JackYF
Дата 23.4.2007, 19:35 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(archimed7592 @  23.4.2007,  19:09 Найти цитируемый пост)
которое работает только с STL-контейнерами?

 smile конечно!  smile это хитрые интеловцы/амдэховцы (нужное подчеркнуть) специально в процессор встраивают коды, которые, увидя в бинарнике код, сгенерированный на основе stl-евских кодов, включают супер-пупер оптимизацию...

А если серьезно, то у нынешних процессоров кэши обоих уровней и конвейера настолько не поддаются систематиации, то вполне могло быть и такое.
Да! В твоих тестах - чей тест первым запускался - вектора или массива?

Добавлено через 2 минуты
Цитата(archimed7592 @  23.4.2007,  19:28 Найти цитируемый пост)
ну если компилятор соответствует Стандарту и ф-ция может быть заинлайнена, то это произойдёт

кажись, все-таки нет.
inline - в стандарте, как уже говорили - всего лишь рекомендация. Формально компилятор имеет полное право этого не делать. Кажись, по стандарту.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 23.4.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(JackYF @  23.4.2007,  19:35 Найти цитируемый пост)
inline - в стандарте, как уже говорили - всего лишь рекомендация. 
ну дык... рекурсию хоть укакайся не заинлайниш... потому и в рекомендательном виде (хотя, совр. компиляторы оч хорошо рекурсию разворачивают)...

Цитата(JackYF @  23.4.2007,  19:35 Найти цитируемый пост)
Да! В твоих тестах - чей тест первым запускался - вектора или массива?
во всех вариациях smile


--------------------
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   Вверх
JackYF
Дата 23.4.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(archimed7592 @  23.4.2007,  19:42 Найти цитируемый пост)
рекурсию хоть укакайся не заинлайниш...

не, это понятно. В плане, компилятор, всего лишь  smile поддерживающий стандарт, может вообще плевать на функции, которые он в принципе может заинлайнить.

Вот хороший компилятор, поддерживающий стандарт, конечно, из ресурсов системы выбьется, но сделает все, что сможет smile



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Earnest
Дата 24.4.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Да ладно вам. Inline, конечно, рекомендательный характер носит, но это не значит, что компилятор будет на него плевать, если хочет (при соответствующих опциях, конечно). Просто это зависит от контекста. Например, куча вложенных вызовов и все хотят быть inline. Так что у бедного компилятора регистры из ушей вылезают...  Поэтому ему и разрешено самому определять, что тут инлайнить, а что нет. И угадать это сложно. А в тривиальных случаях - можно не сомневаться, сделает. Если мы говорим не наколенном компиляторе от Вася Пупкин и Со.
Поэтому лучшие друзья программиста - профайлер с отладчиком. smile  


--------------------
...
PM   Вверх
JackYF
Дата 24.4.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



Цитата(Earnest @  24.4.2007,  08:03 Найти цитируемый пост)
Так что у бедного компилятора регистры из ушей вылезают... 
  smile  smile 


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

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

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

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

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


 




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


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

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