powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с преждевременностью, задержкой и недержанием...
25 сообщений из 75, страница 3 из 3
Проблемы с преждевременностью, задержкой и недержанием...
    #38929350
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Алексей КИнтерфейсы?
Не, я в том смысле, что общие библиотеки будут использовать более вместимые типы - для обеспечения прозрачности.
И как раз преобразовывать float в double....Ну шаблоны/макросы есть, может и не придётся.
D129А лямбды - как-то должна быть организована уборка мусора - разве нет?Возможна малобюджетная реализация без замыканий, как в Delphi.
D129И в результате - "брюки (С++) превращаются в элегантные шорты"....
Все равно приходим к ситуации, что нанооптимизации не имеют смысла (оговорки естественно есть).Да. Но возможность использования в программе 10+ способов работы со строками благоприятно влияет на ЧСВ. :-)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929358
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Eoltпропущено...


Какая еще оптимизация? Наличие галочки Optimize Code в свойствах проекта? На оптимизацию нужно большое время, можете сравнить время сборки проекта на плюсах с опцией /O2 и шарпового. У JIT-просто нет времени нормально оптимизировать код, он должен как можно быстрее скомпилировать код и запустить его, чтобы не вызывать раздражение пользователя.
А вроде в шарпе есть настройка типа "зааптимизировать прям щас, джиттер отключить"? Т. е. можно скомпилить для конкретной платформы и джиттер на этой платформе работать не будет.
Можно на машине, где будет запускаться JIT компиляция и исполняться код предкомпилировать (подготовить) вызываемые методы из сборок 'вручную' заранее.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929366
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronМожно на машине, где будет запускаться JIT компиляция и исполняться код предкомпилировать (подготовить) вызываемые методы из сборок 'вручную' заранее.

Да можно, но сборщик мусора вашим пожеланиями не управляется. Это в некоторых игрушках на C# хорошо видно, когда игровой процесс замораживается на какое-то время, сразу ясно что GC сейчас работает.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929367
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сдаётся мне, что тормоза .Net к наличию JIT не имеют никакого отношения...
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929368
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltAxeleronМожно на машине, где будет запускаться JIT компиляция и исполняться код предкомпилировать (подготовить) вызываемые методы из сборок 'вручную' заранее.

Да можно, но сборщик мусора вашим пожеланиями не управляется. Это в некоторых игрушках на C# хорошо видно, когда игровой процесс замораживается на какое-то время, сразу ясно что GC сейчас работает.О недостатках сказал, теперь самое время поговорить о преимуществах.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929374
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltДа можно, но сборщик мусора вашим пожеланиями не управляется. Это в некоторых игрушках на C# хорошо видно, когда игровой процесс замораживается на какое-то время, сразу ясно что GC сейчас работает.

Т.е. вы искренне считаете, что памятью в .NET нельзя управлять на манер C++? Ну если так, то да
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929376
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КО недостатках сказал, теперь самое время поговорить о преимуществах.

Это недостаток знаний и опыта всего лишь.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929385
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСдаётся мне, что тормоза .Net к наличию JIT не имеют никакого отношения...

JIT это не единственная причина, по-которой управляемые приложения медленнее нативных. Тут еще огромный слой библиотек над нативным Win32/64 API. Это когда вызываешь функцию .NET а она обертка над WinAPI функцией. Но можно сразу вызывать WinAPI напрямую не пользуясь какой-то там .NET прокладкой. Экономить время и ресурсы.
Это и дурацкие, не отключаемые в .NET проверки переполнения переменных, выходы за границы массивов и т.д. Понятно, что для школьника и студента такие проверки необходимы, но профи в нативных языках всегда выключает эти проверки, чтобы ускорить работу кода и ничего, все как-то работает.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929388
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,
И какой смысл тогда вообще использовать managed код? Или есть вера в то, что его придумали только для студентишек?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929390
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltРуссиновича читали? На слабых/загруженных системах, где нет ресурсов для работы JIT, IL-код будет работать в режиме интерпретации.
Ссылку и/или цитату не затруднит привести?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929393
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltАлексей КСдаётся мне, что тормоза .Net к наличию JIT не имеют никакого отношения...

JIT это не единственная причина, по-которой управляемые приложения медленнее нативных. Тут еще огромный слой библиотек над нативным Win32/64 API. Это когда вызываешь функцию .NET а она обертка над WinAPI функцией. Но можно сразу вызывать WinAPI напрямую не пользуясь какой-то там .NET прокладкой. Экономить время и ресурсы.И сколько там потребляет эта "обёртка"? Например, в WinForms основные тормоза связаны с отрисовкой через GDI+. Этот факт, научно доказанный много лет назад, к .Net не имеет никакого отношения.
EoltЭто и дурацкие, не отключаемые в .NET проверки переполнения переменных, выходы за границы массивов и т.д.Откажись от безопасного кода и используй указатели. Скорость выполнения сразу повысится до скорости С++.
EoltПонятно, что для школьника и студента такие проверки необходимы, но профи в нативных языках всегда выключает эти проверки, чтобы ускорить работу кода и ничего, все как-то работает."Профи" гораздо важнее надёжность программы, чем незначительный прирост производительности.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929397
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КО недостатках сказал, теперь самое время поговорить о преимуществах.

Это недостаток знаний и опыта всего лишь.Все когда-то были такими. :-)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929398
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltJIT это не единственная причина, по-которой управляемые приложения медленнее нативных. Тут еще огромный слой библиотек над нативным Win32/64 API. Это когда вызываешь функцию .NET а она обертка над WinAPI функцией. Но можно сразу вызывать WinAPI напрямую не пользуясь какой-то там .NET прокладкой. Экономить время и ресурсы.
Это и дурацкие, не отключаемые в .NET проверки переполнения переменных, выходы за границы массивов и т.д. Понятно, что для школьника и студента такие проверки необходимы, но профи в нативных языках всегда выключает эти проверки, чтобы ускорить работу кода и ничего, все как-то работает.

Давненько подобного бреда не читал. Человек наверное никогда в жизни не слыхал про такое понятие, как "профилирование" и "узкие места". Это синдром школьника с единственно правильным решением
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929400
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВсе когда-то были такими. :-)

Есть подозрения на тонкий троллинг, мистер Ватсон
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929402
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltАлексей КСдаётся мне, что тормоза .Net к наличию JIT не имеют никакого отношения...

JIT это не единственная причина, по-которой управляемые приложения медленнее нативных.Повторюсь, JIT - это вообще не причина. А всякие "развороты циклов", и прочие С++ные оптимизации, можно производить на этапе компиляции C# => IL.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929406
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КВсе когда-то были такими. :-)

Есть подозрения на тонкий троллинг, мистер Ватсон Да и пусть. Лучше чем ничего. :-)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929408
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КО недостатках сказал, теперь самое время поговорить о преимуществах.

Преимущества:

- Простота и дешевизна разработки (почти как на VBA или 1С)
- не нужно управлять памятью (GC)
- не нужно освобождать ресурсы (GC)
- не нужно учитывать разрядность платформы (AnyCPU)
- не нужно изучать UI (всегда можно накидать контролов в WinForms)
- не нужно изучать WinAPI (есть толстая прокладка .NET)
- не нужно учиться работать с указателями (это же небезопасно!)
- не нужно возится с ключами оптимизацией (есть галочка Optimize Code)
- не нужно писать ассемблерные вставки (это же слишком сложно)
- etc
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929409
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltЭто и дурацкие, не отключаемые в .NET проверки переполнения переменных, выходы за границы массивов и т.д.
Отключать проверку за выходы границы масивов - это то самое жгучее желание выстрелить себе в ногу?
А про переменные - откройте для себя (последняя опция, кстати, по умолчанию всегда отключена):
1. checked / unchecked .
2.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929419
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronEolt,
И какой смысл тогда вообще использовать managed код? Или есть вера в то, что его придумали только для студентишек?

Только одна причина. Разработка на managed коде значительно быстрее/дешевле, чем в нативном. Разумеется за счет падения производительности ваших приложений. За скорость и дешевизну создания кода платим его медленной работой.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929424
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt- Простота и дешевизна разработки (почти как на VBA или 1С)
- не нужно управлять памятью (GC)
- не нужно освобождать ресурсы (GC)
- не нужно учитывать разрядность платформы (AnyCPU)
- не нужно изучать UI (всегда можно накидать контролов в WinForms)
- не нужно изучать WinAPI (есть толстая прокладка .NET)
- не нужно учиться работать с указателями (это же небезопасно!)
- не нужно возится с ключами оптимизацией (есть галочка Optimize Code)
- не нужно писать ассемблерные вставки (это же слишком сложно)
- зависит от требований к программе;
- зависит от требований к программе - при желании вполне можно;
- зависит от требований к программе - при желании вполне можно;
- в ряде случаев очень даже нужно (Platform Target в свойствах проекта, ага)
- для кучи случаев этой прокладки не хватает (поищите по форуму сообщения от Дмитрий77), так что WinAPI вполне доводится использовать;
- allow unsafe code в свойствах проекта+директива unsafe - и вперед, было бы желание
- и слава б-гу
- и слава б-гу
- etc
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929448
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИ сколько там потребляет эта "обёртка"? Например, в WinForms основные тормоза связаны с отрисовкой через GDI+. Этот факт, научно доказанный много лет назад, к .Net не имеет никакого отношения.

Я не знаю сколько она потребляет. Не замерял. Я всего лишь расстроенный пользователь .Net приложений, которого печалит медленный и неотзывчивый GUI от .NET. У меня есть комп на i7 с 16 Гигами оперативки, вот на этой машине дотнетовские приложения ведут себя прилично. Почти не тормозят. Но у многих пользователей на компах обычные Celeron с 2-4 гигами оперативки и 32-битной версией Windows, вот там торможение управляемого кода очень четко заметно. Даже выполнение обычных операций в UI приводит к замедленному отклику приложения. Например нажимая кнопку Открытия файла на риббоне, я ожидаю появление стандартного окна открытия файла почти сразу, как это происходит в нативных приложениях написанных на C++, и меня расстраивает, когда это окно в шарповом приложении прорисовывается через 5 секунд, со скрипом жесткого диска и кучей сожраной памяти. Печально, когда вывод окна предосмотра печати с содержимым занимает на управляемом приложении секунд 5-10, ведь в нативном приложении оно отрисовывается мгновенно.


автор"Профи" гораздо важнее надёжность программы, чем незначительный прирост производительности.

Прирост получается слишком значительным, чтобы его игнорировать, тут есть из-за чего помучится с отладкой.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929451
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltAxeleronEolt,
И какой смысл тогда вообще использовать managed код? Или есть вера в то, что его придумали только для студентишек?

Только одна причина. Разработка на managed коде значительно быстрее/дешевле, чем в нативном. Разумеется за счет падения производительности ваших приложений. За скорость и дешевизну создания кода платим его медленной работой.
Да, на managed ЯП быстрее писать программы и дешевле, но для того они и создавались - для решения определенных типов задач. Не вижу смысла писать вэб приложение на unmanaged C++. Скорость и цена разработки в данном случае многократно окупят мнимую низкую скорость приложения.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929458
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronНе вижу смысла писать вэб приложение на unmanaged C++. Скорость и цена разработки в данном случае многократно окупят мнимую низкую скорость приложения.
Вот именно - мнимую. В качестве примера в который раз можно привести stackoverflow с его даппером.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929469
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltАлексей КИ сколько там потребляет эта "обёртка"? Например, в WinForms основные тормоза связаны с отрисовкой через GDI+. Этот факт, научно доказанный много лет назад, к .Net не имеет никакого отношения.

Я не знаю сколько она потребляет. Не замерял. Я всего лишь расстроенный пользователь .Net приложений, которого печалит медленный и неотзывчивый GUI от .NET. У меня есть комп на i7 с 16 Гигами оперативки, вот на этой машине дотнетовские приложения ведут себя прилично. Почти не тормозят. Но у многих пользователей на компах обычные Celeron с 2-4 гигами оперативки и 32-битной версией Windows, вот там торможение управляемого кода очень четко заметно. Даже выполнение обычных операций в UI приводит к замедленному отклику приложения. Например нажимая кнопку Открытия файла на риббоне, я ожидаю появление стандартного окна открытия файла почти сразу, как это происходит в нативных приложениях написанных на C++, и меня расстраивает, когда это окно в шарповом приложении прорисовывается через 5 секунд, со скрипом жесткого диска и кучей сожраной памяти. Печально, когда вывод окна предосмотра печати с содержимым занимает на управляемом приложении секунд 5-10, ведь в нативном приложении оно отрисовывается мгновенно.Ты упоминал MFC, значит работаешь с Visual Studio. Так вот, VS2010+ написан на .Net + WPF. Где там что медленно работает, не связанное с обработкой больших объёмов данных?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929539
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltАлексей КИ сколько там потребляет эта "обёртка"? Например, в WinForms основные тормоза связаны с отрисовкой через GDI+. Этот факт, научно доказанный много лет назад, к .Net не имеет никакого отношения.

Я не знаю сколько она потребляет. Не замерял.А замерь. Возьми профайлер и убедись в том, что это не C# тормозной, а просто у кого-то руки кривые.
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 3 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с преждевременностью, задержкой и недержанием...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]