|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.03.2016, 13:01 | #1 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Программа тормозит только на конкретном компьютере
У меня 3 приложения, взаимодействующие друг с другом через TCP. Я делал их на персональном ПК. Протестировал - все идеально, как мне и нужно. Одна программа генерирует данные, другая их пересылает, третья принимает, обрабатывает и отображает.
Запустил на ноутбуке Core i5 - все идеально. Внимание. Запустил на ноутбуке Core i7, с которым у меня какие-то тормозы случаются сам не знаю, почему. Как будто шина медленная. Программа не работает! Данные еще через раз успевают передаться из первой программы во вторую, а вот в третью ничего не доходит! Вы можете меня браковать, что программа неправильная и тп, но мне нужно конкретно понять, как я могу это исправить. Как вообще понять, почему тормозы, как можно уйти от них в приложении? Windows forms |
23.03.2016, 13:17 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Запускать отладчик и профилировщик. Раз они на одном компе, то разносить (совмещать) обращения к диску, сети и памяти. Смотреть, что с приоритетами/другими процессами/ресурсами и всякими умными технологиями в проце.
|
23.03.2016, 15:26 | #3 | ||
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Пока вы на локальном компьютере у вас нет не временных задержек ни потере потери пакетов. Как только вы выходите в реальный мир. Так сразу и вылазят ваши недоработки в виде отсутствия проверки на ошибки. Не выставления правильных таймаутов. Ошибки синхронизации. Последние без диаграмм последовательностей посылок не разрешается (см UML). Видел во FreeBSD и других линуксах есть утилита для имитации ошибок с указанием процента потерь и временных задержек. Цитата:
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% от времени всего проекта. В любом случае для отыскания таких ошибок надо включать голову. Думать, думать и ещё раз думать. Тот же профайлер хотя и позволяет быстро за пару кликов найти, локализовать очаг ошибок. Но без понимания внутренних механизмов, без знаний и без практики можно очень долго смотреть на результаты, как баран на пустые ворота.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не сохранять файл,только очистить, на другом компьютере | 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 |