![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
newfag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
В наследство достался проект приложения постоянно создающего много процессов (не потоков, а именно процессов). При увеличении на него объема входящих данных, начинает необоснованно тормозить. Процессор задействован не на 100% памяти свободной достаточно. Поэтому остается только внутрение локи при доступе к каким-то общим для процессов данным. Полностью восстанавливать логику проекта долго и это время хотелось бы сэкономить, посоветуйте инструмент для профилировки многопроцессных приложений и поиска возможных узких мест.
ОС - Linux. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
А что за "входящие данные"? Может проблема банально в загрузке этих данных?
|
|||
|
||||
newfag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.6.2009 Репутация: нет Всего: нет |
Просто запрос из сокета и туда практически сразу короткий ответ.
Проблема скорее всего именно в межпроцессном взаимодействии. При тех же объемах запросов в рамках меньшего количества процессов, или вообще одного, скорость работы отличается на порядок. Но задача стоит именно так, чтобы было разделение на несколько процессов. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Создание процесса - это довольно дорогая операция
Межпроцессное взаимодействие - это тоже довольно дорого Если система постоянно делает и то и другое, то не на что другое у нее времени уже не останется ![]() Для профилирования можно взять perfmon2 или VTune с Intel'а (есть Linux версии) |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
intelVTune for linux умеет профилировать.. да есть и бесплатные вещи
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |