![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Доброго времени суток всем! Появилась такая проблемма. В общем написал я маленькую прожку с таймером. Таймер при старте принудительно отключается. Пр старте никаких операций не выполняется. Прога на винте занимает ок. 50 кБайт. Но при старте в оперативе занимает 10 метров. Компилил под студией и под #Develop - результат один и тот же. Подскажите пожалуйста может надо что-то в студии настроить? Или это из-за программирования на .net? Или в чем может быть причина? Буду очень благодарен.
--------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 4 Всего: 27 |
Есть некоторая плата за автоматическую сборку мусора, защищенность AppDomain-ов и адаптацию под конкретный процессор с помощью JIT-компиляции. Эта плата включает в себя небольшое обжорство памяти при маленьких программах и в некоторых случаях небольшой потерей производительности (только в некоторых. В иных может оказатся быстрее) Если будет написано что-то большое, то этих лишних метров памяти практически не будет заметно - CLR при запуске сборки сразу резервирует под данные приличное количество места + разные таблицы, свободное место для JIT и AppDomainы та конексты. В таких случаях очень серйозная програма от програмы с двумя строчками могут отличатся в памяти на 1-2 мегабайта Если же нужна програма которая весит килобайты в памяти то .Net - плохой выбор) Добавлено через 44 секунды А эт неважно - компилятор то все равно один и тот же -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
А в самой студии нельзя поограничивать скажем адаптацию под проц? Вроде там такое где-то есть... Производительность не падает (индекс таймера 100 и каждый разб проверка - и нормально), но конечно с оперативкой - это засада :-( Получается при написании под .net приходится жертвовать памятью. А принудительно все таки нелбзя отключить все эти алгоритмы? Я просто пока новичек, в принципе слышал и о сборке мусора и о прочих вещах, но все-таки....
--------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| archeg |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 4 Всего: 27 |
Эти алгоритмы и составляют .net технологию. Без них это не .Net просто )
Имел ввиду сравнение managed или unmanaged кода
если ты будешь писать каждое свое приложение по 1 строчке кода - то да, ты будешь жертвовать памятью. Если же приложение довольно большое, то памяти будет жрать самое оно. Что ни говорите, в M$ умные люди сидят - и разработку оптимизировали под "среднее приложение". При разработке каких-то очень не стандартных приложений (как приложения с 1 строчкой кода) .нет не совсем удачен. Взять даже GC который прекрасно справляется с среднестатестичискими обьемами данных, но загинается очень быстро на некоторых тестах (быстрее чем другие коллекторы) -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
||||
|
|||||
| tdebugger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 20.1.2007 Репутация: нет Всего: 4 |
Можно подробнее? --------------------
ТЕХНОЛОГИЯ "JAVA" НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt |
|||
|
||||
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Не понял, но, думаю, это проблему не решит --------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 4 Всего: 27 |
Да, но по-идее у каждого пользователя должен уже быть установлен .net (Имею ввиду такая идея M$) Видел где-то тест, при котором GC показывает себя намного и намного хуже чем аналогичные сборщики мусора (кажись пару десятков минут, когда другие - пару секунд). Тем не менее тест был специально на то чтобы показать работу GC - тест делает такие условие, которые просто на практике невозможны ) поищу - кину сцылку Это сообщение отредактировал(а) archeg - 5.9.2007, 18:50 -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| VisualProgrammerNET |
|
|||
![]() Почётный халявщик ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.10.2005 Где: Зеленоград Репутация: 1 Всего: 6 |
Раз для теста делали - видимо на практике возможно. Давно как-то писал программу довольно хитроумную, так там видимо GC как раз захлёбывался. Суть была в том, что примерно 50 раз в секунду происходили некие преобразования с небольшими объёмами данных (в нескольких потоках) и выводилось всё это на экран (с такой же частотой). С точки зрения кода всё было гениально и просто, но приложение работало просто по какому-то чудовищному фактору везения: захочет, выкинет ObjectNotFound эксепшн через 5 секунд, захочет - через 10... Но чтобы всё было стабильно - никогда. Мистика... -------------------- 3 ГОДА НА |
|||
|
||||
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Похожая фигня была у меня с потоками таймера и messagebox. Этот самый бокс выводился то 3. то 5. то 0 раз... Знаете, в этом топике сплошной негатив в адрес .net... Главное, чтоб позитив был --------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 4 Всего: 27 |
Может быть где-то lock не стоял? ) Если где-то неправильно заблокировать что-то в многопоточных приложениях, то очень часто появляются такие баги - что можно месяц над ним бится Почему же негатив? ) Я считаю .net - самая развитая и во всех отношениях лучшая платформа. (Думаю java тоже будет уступать .net хотя бы из-за шикарной поддержки. Но это уже субьективное мнение и оно еще ничего не значит). Просто для того чтобы позитивно работать на самой позитивной платформе, нужно знать ее негативные стороны -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| tdebugger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 20.1.2007 Репутация: нет Всего: 4 |
Великолепно сказано! --------------------
ТЕХНОЛОГИЯ "JAVA" НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |