Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приложение в оперативке 
:(
    Опции темы
GavriKos
Дата 4.9.2007, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 8.8.2007
Где: Донецк, Украина

Репутация: нет
Всего: 1



Доброго времени суток всем! Появилась такая проблемма. В общем написал я маленькую прожку с таймером. Таймер при старте принудительно отключается. Пр старте никаких операций не выполняется. Прога на винте занимает ок. 50 кБайт. Но при старте в оперативе занимает 10 метров. Компилил под студией и под #Develop - результат один и тот же. Подскажите пожалуйста может надо что-то в студии настроить? Или это из-за программирования на .net? Или в чем может быть причина? Буду очень благодарен.
--------------------
Донецкая группа IT - присоединяемся
PM MAIL ICQ   Вверх
archeg
Дата 4.9.2007, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 4
Всего: 27



Цитата(GavriKos @  4.9.2007,  07:24 Найти цитируемый пост)
 Но при старте в оперативе занимает 10 метров. Компилил под студией и под #Develop - результат один и тот же. Подскажите пожалуйста может надо что-то в студии настроить? Или это из-за программирования на .net? Или в чем может быть причина? Буду очень благодарен.

Есть некоторая плата за автоматическую сборку мусора, защищенность AppDomain-ов и адаптацию под конкретный процессор с помощью JIT-компиляции. Эта плата включает в себя небольшое обжорство памяти при маленьких программах и в некоторых случаях небольшой потерей производительности (только в некоторых. В иных может оказатся быстрее)

Если будет написано что-то большое, то этих лишних метров памяти практически не будет заметно - CLR при запуске сборки сразу резервирует под данные приличное количество места + разные таблицы, свободное место для JIT и AppDomainы та конексты. В таких случаях очень серйозная програма от програмы с двумя строчками могут отличатся в памяти на 1-2 мегабайта smile 

Если же нужна програма которая весит килобайты в памяти то .Net - плохой выбор)

Добавлено через 44 секунды
Цитата(GavriKos @  4.9.2007,  07:24 Найти цитируемый пост)
омпилил под студией и под #Develop

А эт неважно - компилятор то все равно один и тот же


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
GavriKos
Дата 4.9.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 8.8.2007
Где: Донецк, Украина

Репутация: нет
Всего: 1



А в самой студии нельзя поограничивать скажем адаптацию под проц? Вроде там такое где-то есть... Производительность не падает (индекс таймера 100 и каждый разб проверка - и нормально), но конечно с оперативкой - это засада :-( Получается при написании под  .net приходится жертвовать памятью. А принудительно все таки нелбзя отключить все эти алгоритмы? Я просто пока новичек, в принципе слышал и о сборке мусора и о прочих вещах, но все-таки....
--------------------
Донецкая группа IT - присоединяемся
PM MAIL ICQ   Вверх
archeg
Дата 4.9.2007, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 4
Всего: 27



Цитата(GavriKos @  4.9.2007,  17:37 Найти цитируемый пост)
 А принудительно все таки нелбзя отключить все эти алгоритмы?
 Эти алгоритмы и составляют .net технологию. Без них это не .Net просто )

Цитата(GavriKos @  4.9.2007,  17:37 Найти цитируемый пост)
А в самой студии нельзя поограничивать скажем адаптацию под проц? 
 Можно, только оно совсем не для того) И нужного ефекта не даст

Цитата(GavriKos @  4.9.2007,  17:37 Найти цитируемый пост)
Производительность не падает

Имел ввиду сравнение managed или unmanaged кода

Цитата(GavriKos @  4.9.2007,  17:37 Найти цитируемый пост)
 но конечно с оперативкой - это засада :-( Получается при написании под  .net приходится жертвовать памятью

если ты будешь писать каждое свое приложение по 1 строчке кода - то да, ты будешь жертвовать памятью. Если же приложение довольно большое, то памяти будет жрать самое оно.

Что ни говорите, в M$ умные люди сидят - и разработку оптимизировали под "среднее приложение". При разработке каких-то очень не стандартных приложений (как приложения с 1 строчкой кода) .нет не совсем удачен. Взять даже GC который прекрасно справляется с среднестатестичискими обьемами данных, но загинается очень быстро на некоторых тестах (быстрее чем другие коллекторы)


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
tdebugger
Дата 4.9.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.1.2007

Репутация: нет
Всего: 4



Цитата(archeg @  4.9.2007,  17:52 Найти цитируемый пост)
Взять даже GC который прекрасно справляется с среднестатестичискими обьемами данных, но загинается очень быстро на некоторых тестах (быстрее чем другие коллекторы)

Можно подробнее?

--------------------
ТЕХНОЛОГИЯ "JAVA"  НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt
PM MAIL MSN   Вверх
GavriKos
Дата 4.9.2007, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 8.8.2007
Где: Донецк, Украина

Репутация: нет
Всего: 1



Цитата

Имел ввиду сравнение managed или unmanaged кода


Не понял, но, думаю, это проблему не решит smile Ладно, спасибо за объяснение. Кстати ведь для прог под .net этот самый .net должен же быть на компе? Если это так - то это объясняет "склонность" шарпа к немаленьким приложениям - вряд ли пользователь будет выкачивать для малюсенькой утилиты весь .net
--------------------
Донецкая группа IT - присоединяемся
PM MAIL ICQ   Вверх
archeg
Дата 5.9.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 4
Всего: 27



Цитата(GavriKos @  4.9.2007,  19:30 Найти цитируемый пост)
 Кстати ведь для прог под .net этот самый .net должен же быть на компе?

Да, но по-идее у каждого пользователя должен уже быть установлен .net (Имею ввиду такая идея M$)

Цитата(tdebugger @  4.9.2007,  19:03 Найти цитируемый пост)
Цитата(archeg @  4.9.2007,  17:52 )Взять даже GC который прекрасно справляется с среднестатестичискими обьемами данных, но загинается очень быстро на некоторых тестах (быстрее чем другие коллекторы)Можно подробнее?

Видел где-то тест, при котором GC показывает себя намного и намного хуже чем аналогичные сборщики мусора (кажись пару десятков минут, когда другие - пару секунд). Тем не менее тест был специально на то чтобы показать работу GC - тест делает такие условие, которые просто на практике невозможны )
поищу - кину сцылку

Это сообщение отредактировал(а) archeg - 5.9.2007, 18:50


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
VisualProgrammerNET
Дата 6.9.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 1
Всего: 6



Цитата(archeg @  5.9.2007,  18:50 Найти цитируемый пост)
Тем не менее тест был специально на то чтобы показать работу GC - тест делает такие условие, которые просто на практике невозможны )

Раз для теста делали - видимо на практике возможно. Давно как-то писал программу довольно хитроумную, так там видимо GC как раз захлёбывался. Суть была в том, что примерно 50 раз в секунду происходили некие преобразования с небольшими объёмами данных (в нескольких потоках) и выводилось всё это на экран (с такой же частотой). С точки зрения кода всё было гениально и просто, но приложение работало просто по какому-то чудовищному фактору везения: захочет, выкинет ObjectNotFound эксепшн через 5 секунд, захочет - через 10... Но чтобы всё было стабильно - никогда. Мистика...  smile 



--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
GavriKos
Дата 6.9.2007, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 8.8.2007
Где: Донецк, Украина

Репутация: нет
Всего: 1



Цитата

выкинет ObjectNotFound эксепшн через 5 секунд, захочет - через 10... Но чтобы всё было стабильно - никогда. Мистика... 


Похожая фигня была у меня с потоками таймера и messagebox. Этот самый бокс выводился то 3. то 5. то 0 раз... Знаете, в этом топике сплошной негатив в адрес .net... Главное, чтоб позитив был  smile 
--------------------
Донецкая группа IT - присоединяемся
PM MAIL ICQ   Вверх
archeg
Дата 7.9.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 4
Всего: 27



Цитата(VisualProgrammerNET @  6.9.2007,  16:25 Найти цитируемый пост)
С точки зрения кода всё было гениально и просто, но приложение работало просто по какому-то чудовищному фактору везения: захочет, выкинет ObjectNotFound эксепшн через 5 секунд, захочет - через 10... Но чтобы всё было стабильно - никогд

Может быть где-то lock не стоял? )
Если где-то неправильно заблокировать что-то в многопоточных приложениях, то очень часто появляются такие баги - что можно месяц над ним бится  smile Особенно если использовать lock(this)


Почему же негатив? ) Я считаю .net - самая развитая и во всех отношениях лучшая платформа. (Думаю java тоже будет уступать .net хотя бы из-за шикарной поддержки. Но это уже субьективное мнение и оно еще ничего не значит).

Просто для того чтобы позитивно работать на самой позитивной платформе, нужно знать ее негативные стороны smile 


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
tdebugger
Дата 7.9.2007, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.1.2007

Репутация: нет
Всего: 4



Цитата(archeg @  7.9.2007,  13:52 Найти цитируемый пост)
Просто для того чтобы позитивно работать на самой позитивной платформе, нужно знать ее негативные стороны

Великолепно сказано!

--------------------
ТЕХНОЛОГИЯ "JAVA"  НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.