Как стать автором
Обновить

Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.4K
Всего голосов 24: ↑23 и ↓1+31
Комментарии8

Комментарии 8

интересно можно ли эти наработки использовать не для разных архитектур, но и для разных ОС (совсем разных имеется в виду, не дистрибов линукса разных) ?

Если на целевой системе есть возможность трассировать процесс сборки (чтобы извлечь дерево процессов сборки и информацию об открываемых ими файлах), то наработки можно адаптировать под такую систему.

Какой то проктологический подход к интеграции вызова анализатора, а не unix-way

Больше на антивирус смахивает, лол

Ну, какие картинки — такой и подход.

Кажется, в таком случае подошло бы использование rtc. Не пробовали?

Да, с помощью rtc можно встроить анализ в процесс сборки отдельных проектов, например, с использованием compile_commands.json.

Но, ключевой частью задачи была интеграция анализа в процесс сборки пакетов дистрибутива операционной системы. И в этом случае штатные способы интеграции pvs-studio с запуском под rtc пришлось бы внедрять в spec-файлы для каждого пакета по отдельности (да, что-то можно было бы унифицировать макросами, но было бы очень много постоянной ручной работы).

Вынос процесса проверки за пределы сборки позволил избежать ручного труда по доработке каждого пакета. По сути все изменения на стороне сборочницы были локализованы в конфигурации Mock.

Здравствуйте, Владислав @phprus ! Нам очень приятно, что вы и ваша компания не только обратили внимание на наш продукт, но и решили проверить ваш проект с помощью PVS-Studio. Надеемся, найденные ошибки в коде помогут вам улучшить "Эльбрус"!

Мы обратили внимание, что в конце статьи вы пишете о замедлении работы процессов сборки. В теории, замедление действительно возможно, так как strace может влиять на скорость сборки, но на практике мы еще не встречали заметных проблем с ним. Нам было бы интересно исследовать ваш кейс подробнее, поэтому будем очень рады, если вы оставите сообщение в форме обратной связи на нашем сайте: https://pvs-studio.ru/ru/about-feedback/. Тем более, как подсказывают коллеги, мы уже общались по поводу различных доработок анализатора, и ваш опыт будет особенно ценен для нашей команды.

Хорошего дня и чистого кода! С уважением, команда PVS-Studio!

Добрый день!

Да, при запуске сборки различных проектов под strace на платформе Эльбрус наблюдалось заметное замедление сборки. Но, мы не проводили точных измерений замедления и не проводили поиск причин этого замедления. Из поверхностных наблюдений, процесс strace иногда упирался в CPU, потребляя все ресурсы ядра процессора.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий