Встреча будет проходить в рамках программы CoLaboratory, вечером 24 мая, в нашем московском офисе. На этот раз мы решили поделиться со всеми желающими опытом применения статического анализа и организации тестирования производительности программ. О чем и расскажут наши эксперты Никита Какуев и Николай Дьяконов — весьма увлеченные своим делом личности.
У Никиты, который, по его словам, «немного увлекается процессом разработки в широком смысле», есть интересное хобби — он экспериментирует со статическим анализом. В качестве основного инструмента использует Clang Static Analyzer.
Собственно, Никита начал увлекаться статическим анализом задолго до того, как пришел к нам, так что опыт у него немалый. Однако, в «Лаборатории Касперского» он научился применять Clang Static Analyzer на действительно больших проектах, которые собираются из кучи маленьких. И этот человек собирается поделиться своим опытом. Ну и попутно расскажет про варнинги компилятора — как их настраивать, как ими управлять, и, главное, как заставить работать на программиста.
Николай тоже имеет интересное хобби — он увлекается тестами производительности программ. И расскажет он о граблях. Вернее, не совсем так. Он расскажет о том, как грамотно подходить к организации тестирования производительности и о тех граблях, на которые мы уже наступили в процессе своих экспериментов. Дело в том, что на самом деле, такой информации не очень много. Про оптимизацию кода в C++ — много. Про оптимизацию приложений — при желании можно найти. А вот про организацию регулярного перформанс-тестирования — почти нельзя.
Грабли. Прямого отношения к C++ разработке не имеют.
Уникальность его ситуации заключается в том, что, с одной стороны, он всегда занимался C++ программированием, а с другой — сейчас работает в группе анализа и контроля производительности. То есть, можно сказать, сделал хобби своей работой. Так вот, начав заниматься контролем производительности, он узнал немало нового. И с тех пор жаждет поведать остальным С++ программистам истину, чтобы они относились к оптимизации кода более комплексно и глобально. И чтобы еще в процессе написания понимали, что на что влияет и как оно это делает.
В качестве модератора мероприятия выступит Евгений Буштырев.
Программа встречи:
- 18:30 – 19:00 – Регистрация участников.
- 19:00 – 19:10 – Приветственные слова.
- 19:10 – 20:10 – Статический анализ в C++. Никита Какуев.
- 20:10 – 20:30 – Кофе-брейк.
- 20:30 – 21:00 – Основы перформанс-тестирования. Николай Дьяконов.
- 21:00 – 21:20 – Q&A-сессия.
- 21:20 – Завершение встречи.
Зарегистрироваться для участия можно вот тут.
В будущем мы планируем проводить подобные встречи с C++ разработчиками на регулярной основе. Причем, если у вас есть темы, которые вам было бы интересно обсудить на следующих встречах, то будем рады если вы поделитесь ими здесь в комментариях или же лично, на форуме.
Комментарии (29)
kloppspb
20.05.2016 00:10-10> Ну просто потому, что это самый простой из известных нам методов создания программного обеспечения.
Вы действительно полагаете, что после подобной глупости стоит читать?
А, да, «лопата».LifeKILLED
20.05.2016 10:52+1Юмор бывает разный: пошлый, грубый, тонкий, а ещё бывает тонкий и ироничный. Не показалась смешной эта статья, ничего страшного, на Хабре есть много других :)
(а мне понравилась зарисовка, так и представил себе грустных поэтов объектно-ориентированного кода, блуждающих между столиками с кофе и беседующих друг с другом о смысле бытия)
JDTamerlan
24.05.2016 11:35Здесь то и глупости, по-моему, нет. Люди хотели показать, что главной целью является продукт, который выполняет определенную задачу. И если бы можно было его создать более простым способом без программирования, то они бы, скорее всего, им воспользовались.
MooNDeaR
20.05.2016 04:42>"… а с другой — сейчас работает в группе анализа и контроля производительности"
Теперь я знаю кто виноват в том, что каспер жрет просто непозволительное количество ресурсов компьютера :D
А вообще, я бы сходил… Да только в Томске я :(mefisteron
20.05.2016 09:32Я думаю, что запись будет.
Kaspersky_Lab
20.05.2016 11:08+1Да, запись будет опубликована в ФБ:
https://www.facebook.com/kaspercareer/
Плюс будет в нашем ютюб-канале.
https://www.youtube.com/user/KasperskyChannelRU
klirichek
20.05.2016 07:50Пообщайтесь с Яндексом!
Они ровно так же сперва организовали большую встречу, потом ещё одну — а потом вдруг стало ясно, что это немного не тот формат, и в итоге всё мероприятие переформатировалось в «С++ клуб», который собирается несколько раз в год в офисе Яндекса.
NikitOS9
20.05.2016 09:10-1Ken Thompson, один из создателей UNIX и Plan 9, раскрывает секрет успеха C++:
Stroustrup campaigned for years and years and years, way beyond any sort of technical contributions he made to the language, to get it adopted and used. And he sort of ran all the standards committees with a whip and a chair. And he said “no” to no one. He put every feature in that language that ever existed. It wasn’t cleanly designed—it was just the union of everything that came along. And I think it suffered drastically from that.
Страуструп затеял многолетнюю кампанию, далеко превосходившую всю его техническую работу над языком, ради того, чтобы язык был принят к использованию. Он типа как укротитель с хлыстом, обошёл все комитеты по стандартам и ни единому не сказал «нет». Он все когда-либо предложенные фичи запихнул в язык. В результате получилось нелепое объединение всего подряд. Мне кажется, язык от такого подхода колоссально пострадал.
http://shmat-razum.blogspot.ru/2012/01/coders-at-work.html
slonopotamus
20.05.2016 09:17Какого-то одностороннего «общения» хотят ваши C++ программисты.
ilnarb
20.05.2016 16:41Открою секрет, митапы и прочие проводят ради привлечения нужных специалистов в фирму, а уж тему встречи делают как получится.
kyb27
20.05.2016 09:53А будет анонс с детальным планом куда идти?
Kaspersky_Lab
20.05.2016 10:56Так на страничке с регистрацией есть адрес и карта. Но на всякий случай — Ленинградское шоссе, д.39А, стр.2 БЦ «Олимпия Парк».
alexiv1965
20.05.2016 12:27А можно еще на страничку регистрации написать — как быть тем, кто едет на машине? Там с парковкой вокруг — дело гиблое, а на территорию БЦ — неясно, можно ли въехать?
Kaspersky_Lab
20.05.2016 12:58Дополним страничку. А вам рекомендуем связаться с непосредственным организатором мероприятия, Alexander.Nezhelsky@kaspersky.com, он посоветует как быть.
afiskon
20.05.2016 16:59Я тут тоже недавно заинтересовался статическим анализом. Пришел к выводу, что Clang Static Analyzer, к сожалению, является далеко не самым мощным анализатором. Зато он бесплатный и работает везде, это, бесспорно, большой плюс. И если в сочетании с MemorySanitizer то в целом хорошее решение.
0xd34df00d
21.05.2016 01:33А лучше особо ничего нет.
Coverity умирает от моего кода (слишком C++14), PVS — несерьезно, всякие cppcheck — тоже несерьезно.afiskon
23.05.2016 11:09cppcheck — это, бесспорно, несерьезно
PVS находил у нас в коде очень серьезные ошибки которые другие статические анализаторы, названные выше, не видели. Код, правда, на чистом Си, про C++14 ничего не могу сказать.0xd34df00d
24.05.2016 02:27Повезло вам. В моем коде он находил весьма смешные «ошибки» уровня cppcheck в лучшем случае.
Единственный инструмент, который в моем опыте находил реальные ошибки — clang static analyzer.
M3fist0
20.05.2016 17:23Хорошая идея!
Еще бы ваши HR отвечали на отклики по вакансиям, да обратную связь давали по тестовым заданиям…
mbait
22.05.2016 07:54+1Ну и попутно расскажет про варнинги компилятора — как их настраивать, как ими управлять
Если под «варнингом» иммется ввиду предупреждение, то звут очень интринующе, потому что -W включает предупреждение, а -Wno- отключает, ещё парочка управляется через -f. Безумно интересно узнать, как ещё их можно настроить.
vstrange
23.05.2016 18:35А видео с докладом планируете выложить в сеть? Очень хочется послушать доклад
darkAlert
Люди, пожалуйста, не говорите плохо о C++, я испытываю моральные страдания когда это происходит.
darkAlert
но я приду!
Kaspersky_Lab
У нас и в мыслях не было говорить плохо о C++.