Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 25

Разная скорость работы приложения

01.04.2013, 20:50. Показов 1418. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть приложение, которое работает с виртуальным Serial портом. Написано под .Net 3.5 и любую разрядность в VS 2012 на 64 разрядной системе. В приложении несколько потоков чтения/записи из/в Serial порт, которые работают параллельно. На компьютере с Win 7, 6 ядерный проц и 8 гигов оперативы работает без претензий, но на более слабой машине скорость работы очень медленная и само приложение очень грузит ЦП. Подскажите, на что обратить внимание?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.04.2013, 20:50
Ответы с готовыми решениями:

Многопоточная программа. Разная скорость работы потоков
Здравствуйте! Изучаю многопоточное программирование и столкнулся вот с такой проблемой. Есть следующий код: class Program { ...

Разная скорость выполнения потока
Здравствуйте! недавно начал изучать WPF и программировать на нём. Задался задачей портировать одно приложение с паскаля на wpf(кода много,...

скорость работы приложения
Я создал приложение Windows Forms весом примерно около мегабайта. Но при открытии формы (после нажатия кнопки на другой форме) она около...

12
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
02.04.2013, 02:59
в 16 строке явно что-то не так
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.04.2013, 12:29
m0nax, да не 16, а 19, разве считать не умеете ?
1
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
02.04.2013, 12:56
что значит на "более слабой"? одно ядро? Насколько я помню, если на многоядерном проце запущена многопоточная прога, то потоки распределяются по ядрам, ежели одно ядро то потоки выполняются на одном ядре за счёт постоянного переключения контекста. Потоки уберите, попробуйте как оно будет на слабой машине
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.04.2013, 13:00
Монфрид, может просто в программе ошибка, у меня тоже был прикол, когда я написал
C#
1
2
3
4
5
for(int i = 0; i < 10000000; i++)
{
   threads[i] = new Thread(...)
   ...
}
программа работала полчаса, сделал-по-человечески
C#
1
2
3
4
Parallel.For(0, 10000000, i => 
   {
      ...
   };
отработало за 50мс
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
02.04.2013, 13:24
Цитата Сообщение от Psilon Посмотреть сообщение
Монфрид, может просто в программе ошибка, у меня тоже был прикол, когда я написал
C#
1
2
3
4
5
for(int i = 0; i < 10000000; i++)
{
   threads[i] = new Thread(...)
   ...
}
программа работала полчаса, сделал-по-человечески
C#
1
2
3
4
Parallel.For(0, 10000000, i => 
   {
      ...
   };
отработало за 50мс
До этих паралеллов всё руки не доходят разобраться, я ThreadPool везде использую
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.04.2013, 15:28
Монфрид, да а в них нечего разбираться, пример выше просто элементарен, а все остальные ничем не лучше
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
02.04.2013, 16:21
Цитата Сообщение от Nimrod Посмотреть сообщение
На компьютере с Win 7, 6 ядерный проц и 8 гигов оперативы работает без претензий
Вероятно, на ресурсоемкость. Еще бы, на такой зверюге писать программы.
C#
1
2
long begin = GC.GetTotalMemory(true);
int collections = GC.CollectionCount(GC.MaxGeneration);
Кидаешь вначале исследуемого блока кода и в конце. Смотришь разницу - если велика, думаешь: почему?
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
02.04.2013, 16:33
а еще лучше подальше держаться от паралелей, линков, асынков и прочей мути пока сам не можешь написать аналог хотя бы в общих чертах
ибо потом выходит ересь типа такого
некоторые почему-то думают что можно просто натыкать в код AsParallel() или Parallel.For и он станет весь такой "параллельный" и быстрый, ага..
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
02.04.2013, 16:36
Что касается меня, когда почувствую, что спокойно разбираюсь в FCL, то буду копать в обратном направлении-
С++, assembler, WinApi. ибо perfomance is low
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.04.2013, 19:19
IamRain, писал и на асме, и на С++, на винапи вот щас лабы задают - ничо особенного. И супер-производительности не получите Потому что элементарные задачи может и решаются в 1000 раз быстрей, но 10 тактов или 10000 - при современных частотах процессора без разинцы. А сколько-нибудь сложное на том же асме вы не напишете, просто потому, что запутаетесь.

Что касается винапи, то километровые switch убивают
0
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 25
02.04.2013, 20:02  [ТС]
Всем спасибо, мужики! Очень хорошие инструменты анализа у VS 2012. Оказалось что в одном цикле wile постоянно шло обращение к списку массивов байт, который занимался другим объектом, вот и конфликтовали таким образом) И действительно на такой зверюге я не мог обратить внимание. А одноядерные и двухядерные процы нагибались от этого, хотя памяти выделяется всего 25 мб. Шутку про номер строки оценил, но я бы говорил про 42 строку Не мог выложить код, а хотел спросить направление поиска проблемы.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.04.2013, 20:09
Nimrod, да а слона-то я и не приметил про профайлер-то я и забыл сказать
Ну что ж, хорошо, что сами отыскали)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2013, 20:09
Помогаю со студенческими работами здесь

Разная скорость работы скрипта на разных машинах и версиях PHP (5.3/5.4)
Всем привет!не могу разобраться! у меня есть комп на котором стоит 5.3 есть проект-написан на 5.3.в проекте использую ajax-Интервал...

Разная скорость флешки
У меня flas накопитель kingston на 16gb. Когда я копирую файлы на него, то в некоторых случаях скорость 3 мб\с, а в некоторых(редких) 25...

Разная скорость интернета
Доброго времени суток. На днях настраивал ноутбук другу, и столкнулся с интересной особенностью, о которой хотел бы спросить у знающих...

Разная скорость по wi-fi на разных ноутбуках
Пользуемся новым wi-fi в новой квартире, и на разных ноутбуках разная скорость. На одном при скачивании с торрента 1,7мб/с, на другом...

Разная скорость сети м/у 3-мя одинаковыми серверами
такая история, 3 сервера с 230 на 242 и 240 и обратно все ходит на скорости 115, а вот если 242-240 то предел 40 имеем локальную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru