Pull to refresh
27
0

devops

Send message
1. Отличный ликбез.

2. Замеры скорости сборки с и без Precompiled Headers будут?

3.
Идём на вкладку настроек «Advanced». Выбираем все конфигурации. В поле «Forced Included File» пишем:
StdAfx.h;%(ForcedIncludeFiles)
Теперь «stdafx.h» автоматически будет включаться в начало ВСЕХ компилируемых файлов. PROFIT!
Больше не потребуется писать #include «stdafx.h» в начале всех *.c/*.cpp файлов. Компилятор сделает это сам

Отличный совет тем, кому потом программу портировать на другую платформу/ос/компилятор…

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

Очень громкое заявление, которое ничем не подкреплено. Если разместить проект в оперативной памяти (RAMDisk), то чтение будет очень быстрым. Тем более, что в файл нужно подставить только один инлюд, а с Precompiled Headers будет вставлено очень много мегабайт текста, который нужно еще скомпилировать.

5. При наличие большого кол-во проблем, связанных с Precompiled Headers возникает вопрос об их целесобразности. Ну да, они дают N% ускорения, но есть же и другие способы повысить скорость компиляции, которые дадут больше ускорения. Например, если если система сборки cmake, то вместо того чтобы генерировать «MS Solution» можно сгенерировать ninja файл и собрать 1.5 раза*(из личного опыта на большом проекте) быстрее. Разместите файлы на RAMDisk, и вот еще прибавка к скорости, не меняя исходников.

6. А если нужно провести рефакторин, то нужно планировать и рефакторинг хидеров, так как они будут либо часто пересобираться либо вообще не нужны. Что опять же усложнит процесс разработки.

итого: я не против Precompiled Headers, я призываю подумать 100500 раз и доказать себе, что оно нужно в конкретном проекте и без него совсем ни как.
Я имею ввиду не вообще сравнение, а на аутсорсовом проекте — в ежедневном использование.
Поздравляю с новым опытом!
А вы сравнивали эффективность/удобство использования/кол-во найденых ошибок (PVS-Studio и CppCat) с другими анализаторами в новом для вас поприще. Переняли ли какие то идеи, например от cppcheck?
Возможно я не нашел в новой версии, но существует ли простой способ спрофилировать приложение по использованию времени центрального процессора и/или по памяти?
А не проще взять cmake, сгенерировать solution и собрать с помощью msbuild?
Трёхлетний малыш, слепивший прямоугольный песочный «куличик», неожиданно для себя нарушил 15 патентов Apple. ©
<sarcasm>
А я смогу это в инстаграмм выложить? А в вконтакт? А твитнуть смогу? Если нет, то не нужно…
</sarcasm>
С новым стандартом потребуется перевернуть всего лишь ОДИН раз!
Мне кажется, именно такие процессоры нужно встраивать в умные часы, а не топовые 4-х ядерники…
А вы не пробовали что то оптимизировать(под arm), а не только тестировать?
А поддержка C будет? или только C++?
Я полагаю это сложная и возможно даже не нужная задачи, ибо если проект маленький то за пару часов все можно перенести руками. Если же нет, то скорее всего тулза не справится из — за сложности проекта и обилие все возможных сложностей/зависимостей, не говоря уже про то, что .vcproj практически к каждой версии студии свой. Более того, даже если тулза что то нагенерировала, то кто вам сказал что это то, что вам нужно. Тогда это придется проверять руками и редактировать, а значит появляется требования к качеству сгенерированно года… в общем это отдельный большой и сложный проект imho.
Мне кажется, если ваша IDE вытянет Chromium — это будет win!

З.Ы. Там только вроде не cmake…
Наверное все таки это быстрая и качественна интеграция IDE с системой сборки(cmake/qbs/scons/waf), с подсказками и все такое:
Добавил файл в проект, оно само в cmake прописалось, само перегенерировало ninja файл и все это должно быть очень быстро, даже на больших проектах.

В qtcreator мне нравится скорость парсинга и то, что я могу очень быстро все собрать, так как есть поддержа ninja. Проверял на прокте opencv ;) В qtcreator уже есть поддержка cmake, однако всего лишь редактирование с подсказками, и если я написал свой макрос на cmake, то qtcreator уже не могет подсказать.

Да и памяти потребляет не очень много ;) (это был очень тяжелый и медленный камень в огород eclipse/java).

Важный момент с переключением: Debug/Release, gcc/clang/icc/что-то_еще и все такое.
Более того в cmake можно прописать сборку «с вариантами» — открываем cmake-gui, ставим галочки, что именно хотим собирать, жмем сгенерировать.
А как будет это реализовано у вас? В данный момент руками нужно перегенерировать cmake потом открывать среду и кодить…

cmake в данный момент, хоть и не идеальная система сборки, но очень популярная и то что ее поддерка одна из первых это большой плюс, но не стоит забывать и об остальных.(далекий roadmap)

«P.S. Жду, когда допилят qbs и вот он уже и должен спасти мир ...»
IMHO небольшой фидбек по увиденному в видео. Я достаточно много программирую на с++ и использую для этого qtcreator. Поэтому, небольшое «сравнение». То что прикручиваете cmake — это определенно хорошо. Однако не совсем понятно как обновлять cmake, в смысле мне нужно выходит из среды и перезапускать cmake? Если я в консоле создал файлики и поправил cmake, перегенерировал, IDE обновит свой енвайромент?

В какой то момент вы начали писать на c++11 — но вопрос скомпилируется ли это — скорее всего врятли, потому, как это нужно прописывать в cmake — добавить опцию "-std=c++11". Будет ли тесная связь среды с cmake. Будут ли подсказки для cmake?

Видео конечно небольшое, чтобы можно было понять все прелести новой IDE, да и пример из 4-6 файлов весьма небольшой, так что спорить трудно… "… мы показываем, как летает наша C++ IDE". Пробовали ли вы сравнивать, например, qtcreator и вашу IDE на больших проектах по скорости работы(парсинг, навигация по файлам, ...)? Бедет ли поддержка ninja?

Мне нравятся продукты вашей компании, но в данном видео я не увидел ничего, что меня могло побудить перейти на новую IDE. (я понимаю, что продукт чересчур молод)

Желаю удачи в написание новой IDE. Больше IDE хороших и разных!!!

Спасибо.
<сарказм> Audi TTS… я это уже вижу…

Экскурсия по городу завершена за 3 мин 14 сек!!! Это лучшее время!!! А значит у нас есть новый мировой рекорд…
</сарказм>
Забавно, в данный момент тоже пишу статью про CubieBoard2. Эта тема кому нибудь интересна?
Госнаркоконтроль оплошал. Как заявил глава госнаркоконтроля: «Это был мой косяк !» (с)

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity