Переключение на Главную Страницу Страницы: 1 ... 10 11 [12] 13 14 ... 24 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1CPP: разработчикам - среда разработки (число прочтений - 175482 )
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #165 - 27. Марта 2008 :: 17:30
Печать  
kms писал(а) 27. Марта 2008 :: 17:25:
Во, погляди:

Здорово, давно хочу отладку. Надо будет как-нибудь с Бустом разобраться по крупному Улыбка
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #166 - 27. Марта 2008 :: 20:06
Печать  
Возможно, я доигрался с Бустом. И тормоза компиляции связаны с огромным pchi-файлом. У icpp он 58Мб. У меня - 104Мб. Слышал, что при достижении pch некоторого предела компиляция наоборот замедляется. Возможно, это мой случай. Но, однако, 9.1 не тормозил Улыбка
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #167 - 27. Марта 2008 :: 22:58
Печать  
В общем, так и есть. Уменьшил количество заголовков в stdafx.h - время пересборки уменьшилось до 31 минуты. PCH уменьшился до 90 Мб. С этим уже можно жить. Подозреваю, что уменьшением PCH можно выиграть еще больше.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #168 - 28. Марта 2008 :: 04:14
Печать  
kms писал(а) 27. Марта 2008 :: 17:25:
Я не знаю, как Артур нашел; но с _STLP_DEBUG даже логику включать не надо - все на поверхности.

Как всегда, анализ кода, а он неплохо отрефакторен, так что читать его легко, т.е. на поиск ошибки потратил минут 5-10 Улыбка

Вопрос: возможно ли сейчас включить _STLP_DEBUG или будут какие-то проблемы, типа с бустом? Подробнее можно осветить.
Вещь нужная.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - среда разработки
Ответ #169 - 28. Марта 2008 :: 08:51
Печать  
Uzhast писал(а) 27. Марта 2008 :: 22:58:
В общем, так и есть. Уменьшил количество заголовков в stdafx.h - время пересборки уменьшилось до 31 минуты. PCH уменьшился до 90 Мб. С этим уже можно жить. Подозреваю, что уменьшением PCH можно выиграть еще больше.

У меня, если честно, вообще есть непонятки с использованием PCH.
Причем проблемы исчезают и появляются в зависимости от каких-то неизвестных причин.

К примеру, 9.1, и все 10.x обычно работают на двух ядрах - без проблем.
10.1.020 - под vs2008 гарантированно брыкается:
Код
Выбрать все
processing: TurboBL\docrefboost.cpp
docrefboost.cpp
warning #677: memory usage conflict with precompiled header file "Debug\1CPP.pchi"

TurboBL\docrefboost.cpp(2): catastrophic error: could not open source file "stdafx.h"
#include "stdafx.h"
		    ^
compilation aborted for TurboBL\docrefboost.cpp (code 4)
done TurboBL\docrefboost.cpp
 



Тот же 10.1.020 под vs2005 нормально работает
Нет, 10.1.020 нигде параллельно не работает.
10.1.014 - вот этот работает без проблем в vs2005 и vs2008.

А вчера твой проект на ОДНОМ ядре собираться не хотел под 9.1.
На двух ядрах (т.е. уже нештатный режим) - все ОК, как и на 10.x

В общем, какие-то заморочки с этими PCH точно есть.

P.S.
Кстати, меня давно занимает вопрос, почему второе ядро ускоряет не в 2 раза, даже близко нет, - всего процентов на 20-25.
Подозреваю, что здесь тоже влияние PCH имеется.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - среда разработки
Ответ #170 - 28. Марта 2008 :: 08:54
Печать  
artbear писал(а) 28. Марта 2008 :: 04:14:
Вопрос: возможно ли сейчас включить _STLP_DEBUG или будут какие-то проблемы, типа с бустом? Подробнее можно осветить.
Вещь нужная.

Он уже включен в icpp.

Поэтому ты так быстро по стеку и добрался до проблемного места.

И еще - сообщения в окне Output в момент вылета нужно смотреть.
В ExecuteModule у тебя было бы написано что-то типа "доступ к элементу вне границ массива в operator[]".
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #171 - 28. Марта 2008 :: 16:10
Печать  
Могу еще пару приколов подкинуть на тему ICC и PCH. Для пробы выставил /Qms0. Тут же стал ругаться, что не может найти stdafx.h. Правильно - часть файлов у меня в поддиректориях относительно корня проекта. Но, если указывать пути в виде #include "../stdafx.h", то не компилится - потому что для использования PCH ему надо именно в виде #include "stdafx.h". Ну, думаю, Интел просто строже стал. Переделываю все на #include "../stdafx.h" Агащазблин. Ругаться перестает, но и PCH не использует - компиляция замедляется и выдаются все те сообщения, которые должны выдаваться при предкомпиляции stdafx.cpp.

Убираю /Qms0. НИЧЕГО НЕ МЕНЯЕТСЯ. Тут меня кондрат чуть не хватил: получается, либо оно не будет вообще компилироваться, либо stdafx.h обрабатывать для КАЖДОГО cpp. Помогло только конвертирование проекта из icpp-проекта в vcpp и обратно.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #172 - 28. Марта 2008 :: 16:18
Печать  
Uzhast писал(а) 28. Марта 2008 :: 16:10:
либо stdafx.h обрабатывать для КАЖДОГО cpp.

Эх, виндузятники...
sed s/\#include \"\.\.\/stdafx\.h"/\#include \"stdafx\.h\"/ *.cpp
  
Наверх
www  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #173 - 28. Марта 2008 :: 16:22
Печать  
fez писал(а) 28. Марта 2008 :: 16:18:
Uzhast писал(а) 28. Марта 2008 :: 16:10:
либо stdafx.h обрабатывать для КАЖДОГО cpp.

Эх, виндузятники...
sed s/\#include \"\.\.\/stdafx\.h"/\#include \"stdafx\.h\"/ *.cpp

Эх, линуксятники... В стремлении показать превосходство над виндузятниками даже не читают текст Улыбка Проблема не в том, чтобы перепрописать инклюд для stdafx.h, а в том что Интел в результате каких-то причин начал для каждого cpp-файла компилировать stdafx.h заново. Тут уже 2 часа компиляции покажутся малым временем.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - среда разработки
Ответ #174 - 28. Марта 2008 :: 16:28
Печать  
Uzhast писал(а) 28. Марта 2008 :: 16:10:
Могу еще пару приколов подкинуть на тему ICC и PCH. Для пробы выставил /Qms0. Тут же стал ругаться, что не может найти stdafx.h. Правильно - часть файлов у меня в поддиректориях относительно корня проекта. Но, если указывать пути в виде #include "../stdafx.h", то не компилится - потому что для использования PCH ему надо именно в виде #include "stdafx.h". Ну, думаю, Интел просто строже стал. Переделываю все на #include "../stdafx.h" Агащазблин. Ругаться перестает, но и PCH не использует - компиляция замедляется и выдаются все те сообщения, которые должны выдаваться при предкомпиляции stdafx.cpp.

Убираю /Qms0. НИЧЕГО НЕ МЕНЯЕТСЯ. Тут меня кондрат чуть не хватил: получается, либо оно не будет вообще компилироваться, либо stdafx.h обрабатывать для КАЖДОГО cpp. Помогло только конвертирование проекта из icpp-проекта в vcpp и обратно.

Ну это ж то, о чем я тебе две строчки вверх описывал.

Версия ICL?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #175 - 28. Марта 2008 :: 16:30
Печать  
kms писал(а) 28. Марта 2008 :: 16:28:
Ну это ж то, о чем я тебе две строчки вверх описывал.

Версия ICL?

10.1.020
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #176 - 28. Марта 2008 :: 21:45
Печать  
kms писал(а) 28. Марта 2008 :: 16:28:
Ну это ж то, о чем я тебе две строчки вверх описывал.

Нет, это не то. У тебя ошибка выдается. А у меня ошибки нет. У меня включен VERBOSE_AUTOLINK для Stlport. Когда PCH используется нормально, сообщение об автолинке выдается только один раз - при сборке stdafx. А моем случае была выдача сообщения об автолинке при компиляции каждого файла.
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #177 - 29. Марта 2008 :: 01:39
Печать  
Кому в падлу скачивать новые компиляторы и прочие тулзы от Intel, можно вроде бы заказать бесплатный диск от них по ссылке: http://www.intel.com/cd/corporate/europe/emea/rus/country/284789.htm
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #178 - 29. Марта 2008 :: 03:52
Печать  
kms, теперь понятно, почему у меня возникли тормоза не на 20%, а гораздо больше. Скорее всего, ты используешь 9-й компилятор более новой версии, чем у меня был. У меня 9.1.028. Попробовал поставить 9.1.034. Так он только на 20% быстрее, чем 10.1  Смех Они тормоза еще в 9-м компиляторе внесли.

Наверное, они встроили в компилятор модуль связи с инженеграми Интела - в случае особо непонятного кода компилятор спрашивает, как его компилировать  Смех Так что, пока запрос уйдет, пока анжинер разберется, пока ответит, вот и набегает разница в раза 2-3  Смех
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: 1CPP: разработчикам - среда разработки
Ответ #179 - 29. Марта 2008 :: 04:54
Печать  
kms писал(а) 28. Марта 2008 :: 08:51:
Кстати, меня давно занимает вопрос, почему второе ядро ускоряет не в 2 раза, даже близко нет, - всего процентов на 20-25.
Подозреваю, что здесь тоже влияние PCH имеется.

На тамошнем форуме видел рекомендацию выставлять количество потоков для билда в примерно удвоенное количество ядер. Товарищ получил наилучшие результаты при использовании 9 потоков на 4 ядрах.

Возможно, тебе стоит выставить 3-4 потока (если многопоточный билд у тебя еще работает). Хотя, есть ли смысл заморачиваться, если у тебя полный ребилд занимает каких-то 2-3 минуты  Смех
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 10 11 [12] 13 14 ... 24
ОтправитьПечать