Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2016, 13:01   #1
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию Программа тормозит только на конкретном компьютере

У меня 3 приложения, взаимодействующие друг с другом через TCP. Я делал их на персональном ПК. Протестировал - все идеально, как мне и нужно. Одна программа генерирует данные, другая их пересылает, третья принимает, обрабатывает и отображает.

Запустил на ноутбуке Core i5 - все идеально. Внимание. Запустил на ноутбуке Core i7, с которым у меня какие-то тормозы случаются сам не знаю, почему. Как будто шина медленная. Программа не работает! Данные еще через раз успевают передаться из первой программы во вторую, а вот в третью ничего не доходит!

Вы можете меня браковать, что программа неправильная и тп, но мне нужно конкретно понять, как я могу это исправить. Как вообще понять, почему тормозы, как можно уйти от них в приложении? Windows forms
Krasi вне форума Ответить с цитированием
Старый 23.03.2016, 13:17   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Запускать отладчик и профилировщик. Раз они на одном компе, то разносить (совмещать) обращения к диску, сети и памяти. Смотреть, что с приоритетами/другими процессами/ресурсами и всякими умными технологиями в проце.
p51x на форуме Ответить с цитированием
Старый 23.03.2016, 15:26   #3
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
У меня 3 приложения, взаимодействующие друг с другом через TCP. Я делал их на персональном ПК.
Дальше можно не читать. Для разработки приложений TCP нужен стенд/макет.
Пока вы на локальном компьютере у вас нет не временных задержек ни потере потери пакетов.
Как только вы выходите в реальный мир. Так сразу и вылазят ваши недоработки в виде отсутствия проверки на ошибки. Не выставления правильных таймаутов.
Ошибки синхронизации. Последние без диаграмм последовательностей посылок не разрешается (см UML).
Видел во FreeBSD и других линуксах есть утилита для имитации ошибок с указанием процента потерь и временных задержек.

Цитата:
Как вообще понять, почему тормозы, как можно уйти от них в приложении?
1) Называется это динамическим анализом. Для этого есть утилита Valgrind.
2) Есть ещё профайлеры который покажет время и потоки. Любой пойдёт:
https://en.wikipedia.org/wiki/List_o...analysis_tools
Способ измерения Hint-test/sample-test/events-test

3)Для анализа можно использовать логирование. В этом плане удобно трассировка.
Когда логирование определённых маршрутов данных включается по внешней команде(из внешней программы) . Собственно в этой же команде указывается что и как логировать. А также можно запустить или отключить внутрении тесты.
Так же если у вас есть отладочные модули(Unit-tests), то их не плохо подключит.

Вы скажите долго? Да так и есть. При создании программы время всегда делится так что:
А) 1/3 - написание кода
Б) 1/3 - написание тестов
В) 1/3 - тестирование и устранение замечаний
Пункты: Б и В вмести составляют 2/3=60% что зовётся отладкой. А в некоторых случаях время отладки доходит до 90% от времени всего проекта.


В любом случае для отыскания таких ошибок надо включать голову. Думать, думать и ещё раз думать. Тот же профайлер хотя и позволяет быстро за пару кликов найти, локализовать очаг ошибок. Но без понимания внутренних механизмов, без знаний и без практики можно очень долго смотреть на результаты, как баран на пустые ворота.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не сохранять файл,только очистить, на другом компьютере kartol Microsoft Office Excel 5 17.01.2014 00:01
Тормозит программа Кротяка C++ Builder 5 22.05.2013 20:08
Программа не работает на другом компьютере hunter03 Visual C++ 2 27.02.2013 21:58
Не работает программа на другом компьютере MooNDeaR Помощь студентам 6 04.08.2011 19:23
Тормозит программа с большим кол-во TImage like_cloud Помощь студентам 2 12.12.2009 21:52