Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2011-12-29 08:55:31

Dim_ov
Новий користувач
Зареєстрований: 2009-11-29
Повідомлень: 312
Вебсайт

Ключі компіляції

Вже вкотрий раз отримую кілька ТЛ-ів через використання STL. При чому на моїй машині моя STL-на програма працює швидше, ніж деякі програми, що використовують С-масиви і тут проходять перевірку на 40 балів.

У зв'язку з чим хотілося б дізнатися, які використовуються ключі компіляції, бо на дебажній збірці СТЛ дійсно неймовірно тормозить.

Або можливо проблема у версії компілятора? Тоді може можливо було б оновити компілятор?
Просто зараз щось старіше, ніж 4.4 навіть важко знайти, а тут, якщо вірити правилам, стоїть 4.0 smile

П. С. Не хочу, щоб це сприймалось як якесь звинувачення. Просто цікавість smile

Відредаговано Dim_ov (2011-12-29 08:58:36)

Поза форумом

 

#2 2011-12-29 09:15:41

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 439

Re: Ключі компіляції

Сейчас используется gcc версия 4.1.2 не имеющая существенных отличий от заявленной в правилах.
]$ gcc -v
Используются внутренние спецификации.
Целевая архитектура: i386-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Модель многопотоковости: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)

Поза форумом

 

#3 2011-12-29 09:25:20

Присяжнюк А.В.
Новий користувач
Звідки: Бердичів СЗОШ 17
Зареєстрований: 2005-11-19
Повідомлень: 140
Вебсайт

Re: Ключі компіляції

Я ничего против STL не имею, более того, сам очень часто использую.

НО: своим рекомендую в олимпиадном программировании пользоваться STL поменьше, более того, как пример навожу тот факт, что во многих задачах пробных туров на международных IOI идёт в виде примечания предложение приблизительно такого типа: "рекомендуется считывать данные scanf", что по сути является косвенным указанием об не использовании STL.

Для полноты картины и справедливости ради нужно отметить, что использование библиотеки STL при умелом использовании значительно облегчает работу.

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

По поводу установленной версии: во всём мире принята практика, что участники приспосабливаются под среды программирования, которые им предоставлены, а не наоборот. Так что так было, так есть и скорее всего так и будет далее, поэтому обновлять любой компилятор "по желанию", как правило, никто нигде не будет.


Права на ошибку не имеет тот, кто ничего не делает...

Поза форумом

 

#4 2011-12-29 09:51:48

Dim_ov
Новий користувач
Зареєстрований: 2009-11-29
Повідомлень: 312
Вебсайт

Re: Ключі компіляції

дякую. Вдома спробую поставити 4.1.

Я розумію, що посеред олімпіади ніхто не буде нічого оновлювати. Це більше було щодо наступних років smile

Ще хотілося б дізнатися команду для власне компіляції рішення (типу g++ solution.cpp -O2 -osolution)

Поза форумом

 

#5 2011-12-29 15:54:00

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 439

Re: Ключі компіляції

Dim_ov написав:

дякую. Вдома спробую поставити 4.1.

Я розумію, що посеред олімпіади ніхто не буде нічого оновлювати. Це більше було щодо наступних років smile

Ще хотілося б дізнатися команду для власне компіляції рішення (типу g++ solution.cpp -O2 -osolution)

Я не терплю избыточного "новаторства", особенно в сфере продутов с открытым кодом. "Вчерашняя" версия всегда лучше "сегодняшней".  Ее "глюки", по крайней мере, хороши известны, а у "сегодняшней" - непредсказуемы. Обновлять будем тогда, когда RH вклюбчит в свой очередной релиз. (в RHES 6.1 еще 4.1.х). А то, что Ubuntu, "задрав штаны" бежит "впереди паровоза"и у них более старшие версии - для меня ничего не говорит. Не серверная это платформа в прнципе.
Что касается ключей... все сказано в правилах.  Да и он лайн проверка у вас есть.

Поза форумом

 

#6 2011-12-29 17:00:09

reiten
журі
Звідки: Киев
Зареєстрований: 2005-10-16
Повідомлень: 196

Re: Ключі компіляції

Присяжнюк А.В. написав:

Я ничего против STL не имею, более того, сам очень часто использую.

НО: своим рекомендую в олимпиадном программировании пользоваться STL поменьше, более того, как пример навожу тот факт, что во многих задачах пробных туров на международных IOI идёт в виде примечания предложение приблизительно такого типа: "рекомендуется считывать данные scanf", что по сути является косвенным указанием об не использовании STL.

Это немного из другой оперы и к STL не имеет никакого отношения.
Просто то, что iostream на 10-15% медленнее, чем stdio - известный факт. Причем 10-15% - оптимистичная оценка. В отдельных средах (MS VC++ 6) разница достигала 200-300%.

Что до версий GCC - не думаю, что в условиях олимпиады можно найти существенные различия между gcc 4.1 и gcc 4.4 (не считая того факта, что после 4.1 отключили по умолчанию поддержку <?= ).

Відредаговано reiten (2011-12-29 17:00:21)


"...Существуют два подхода к проектированию программ. В одном архитектура делается настолько простой, что в ней явно нет дефектов; в другом - настолько сложной, что в ней нет явных дефектов".
С. А. Хоар

Поза форумом

 

#7 2011-12-29 18:39:42

Dim_ov
Новий користувач
Зареєстрований: 2009-11-29
Повідомлень: 312
Вебсайт

Re: Ключі компіляції

Вже розібрався.
Просто в себе компілював з -O2, а тут, схоже, всі оптимізації вимкнено.

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt