powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с преждевременностью, задержкой и недержанием...
75 сообщений из 75, показаны все 3 страниц
Проблемы с преждевременностью, задержкой и недержанием...
    #38928663
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...оптимизаций.

Может кто пояснить, в этих ваших процессорах что, нет отдельных блоков, как в видеокартах - отдельно для половинок, отдельно для синглов, отдельно для даблов? Ну, не секрет же, что в видеокартах производительность в разной точности вычислений разная, потому что для каждого типа чисел у видеокарт свои блоки вычислений. А вот в процессорах как - так же?

Я к тому, что если не так, то как? Вроде, слышал, что все эти (в терминах C#) byte, short, int, long, когда исполняются на 64-разрядном процессоре, дополняются до 64 бит нулевыми бытами в старшие разряды. Т. е., все мои переменные, которые я ввожу для "экономии памяти", типа float вместо double, byte или short вместо long и т. п. - всё это "разоптимизируется" обратно в самые удобные для процессора длины данных.

Вроде, как в процессоре или компиляторе есть всякие такие штуки, что если подряд идут короткие типы данных и над ними подряд делается одна и та же операция, то он таки может затолкать несколько таких коротких данных в одно длинное и за одну операцию сделать несколько операций, но это редко когда - не всегда же такие подряд последовательности встречаются. Т. е. когда однотипных данных мало и операции над ними разные, то всегда идёт дополнение до максимальной разрядности. Так?

Просьба ответить не ссылками на длинные статьи, а прям тут, несколькими предложениями. Я не полностью архитектуру и работу процессоров хочу понять, а просто уяснить для себя пару вопросов.




Просто некоторые сишники и сиплюсплюсники и прочие ассемблерщики каждый битик считают. И когда видят мой код, где я размашисто так даблы везде использую, тут же говорят, а зачем тебе - у тебя же от силы половина точности. Ты давай на флоаты перейди, затолкай вот эту свою кучку флагов в битовые последовательности, считай не умножением или делением, а смещением битов. Как они надоели уже! Я им говорю, что у меня высокоуровневый язык, что обо всём этом компилятор позаботится. А если не позаботится, то и нафиг не надо. А они тут же начинают обзываться быдлокодеров, формошлёпом, "да нас за такое в своё время старшИе по рукам били". Такое ощущение, что "высокоуровневый" язык они понимают в смысле "для людей высокого положения, господ", а низкоуровневый - "для холопов". И обижаются, и стараются тебя унизить.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928668
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ когда видят мой код, где я размашисто так даблы везде использую, тут же говорят, а зачем тебе - у тебя же от силы половина точности. Ты давай на флоаты перейди
Особенно интересно, что почти все методы в классе Math работают с даблами. При этом константы все - тоже даблы. И при этом они захардкодены всего до нескольких знаков после запятой. Число Пи? - Вам и пяти знаков после запятой хватит. Но при этом это дабл, да.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928702
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Я не полностью архитектуру и работу процессоров хочу понять, а просто уяснить для себя пару вопросов.Ответ на первый вопрос: открой для себя встроенный математический сопроцессор.
НемоКэп42Просто некоторые сишники и сиплюсплюсники и прочие ассемблерщики каждый битик считают. И когда видят мой код...Ответ на второй вопрос: показывай не код, а бенчмарки.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928707
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ещё сейчас обязательно надо вставить что-нибудь про RyuJIT, SIMD и Бенуа Мандельброта.

The JIT finally proposed. JIT and SIMD are getting married.



...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928774
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Просто некоторые сишники и сиплюсплюсники и прочие ассемблерщики каждый битик считают. И когда видят мой код, где я размашисто так даблы везде использую, тут же говорят, а зачем тебе - у тебя же от силы половина точности. Ты давай на флоаты перейди, затолкай вот эту свою кучку флагов в битовые последовательности, считай не умножением или делением, а смещением битов. Как они надоели уже! Я им говорю, что у меня высокоуровневый язык, что обо всём этом компилятор позаботится. А если не позаботится, то и нафиг не надо. А они тут же начинают обзываться быдлокодеров, формошлёпом, "да нас за такое в своё время старшИе по рукам били". Такое ощущение, что "высокоуровневый" язык они понимают в смысле "для людей высокого положения, господ", а низкоуровневый - "для холопов". И обижаются, и стараются тебя унизить.Предложи им написать какой-нибудь банальный SQL запрос к терабайтной БД - их ЧСВ понизится до нуля, некоторые впадут в депрессию.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928795
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42...оптимизаций.

Просто некоторые сишники и сиплюсплюсники и прочие ассемблерщики каждый битик считают.

Есть и другие крайности - типа создания потоков в цикле.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928885
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С# не предназначен для написания быстродействующих приложений, поэтому никакой приличной оптимизации там нет.
На слабых машинах (субноуты к примеру) .NET отключает даже JIT компиляцию, и приложение работает в режиме интерпретации IL кода. Поэтому глупо сравнивать шарп с нативными компиляторами C/C++, это две разные вселенные живущие по-своим законам.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928981
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltС# не предназначен для написания быстродействующих приложений, поэтому никакой приличной оптимизации там нет.
На слабых машинах (субноуты к примеру) .NET отключает даже JIT компиляцию, и приложение работает в режиме интерпретации IL кода. Поэтому глупо сравнивать шарп с нативными компиляторами C/C++, это две разные вселенные живущие по-своим законам.
+1.
А ещё есть параллелинг.
Пусть топикастерские сишники напишут функцию, которая разбивает поиск в массиве на потоки - и раздает эти потоки всем доступным ядрам в системе.
:-)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38928988
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129EoltС# не предназначен для написания быстродействующих приложений, поэтому никакой приличной оптимизации там нет.
На слабых машинах (субноуты к примеру) .NET отключает даже JIT компиляцию, и приложение работает в режиме интерпретации IL кода. Поэтому глупо сравнивать шарп с нативными компиляторами C/C++, это две разные вселенные живущие по-своим законам.
+1.
А ещё есть параллелинг.
Пусть топикастерские сишники напишут функцию, которая разбивает поиск в массиве на потоки - и раздает эти потоки всем доступным ядрам в системе.
:-) Пишем простой ThreadPool с async и future
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltС# не предназначен для написания быстродействующих приложений, поэтому никакой приличной оптимизации там нет.
На слабых машинах (субноуты к примеру) .NET отключает даже JIT компиляцию, и приложение работает в режиме интерпретации IL кода. Поэтому глупо сравнивать шарп с нативными компиляторами C/C++, это две разные вселенные живущие по-своим законам.

Я бы так не сказал. Умеючи на C# из .NET-а можно выжать вполне приличную скорость, сопоставимую с аналогом на C++.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929016
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Вот оно!

авторОкей, пул мы создали, как передать в него нашу функцию?
Для этого мы используем новые возможности С++11 такие как std::bind, лямбды , std::function и variadic templates.

И куда пойдет нанооптимизация в этом случае?

:-)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929049
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltС# не предназначен для написания быстродействующих приложений, поэтому никакой приличной оптимизации там нет.
На слабых машинах (субноуты к примеру) .NET отключает даже JIT компиляцию, и приложение работает в режиме интерпретации IL кода. Поэтому глупо сравнивать шарп с нативными компиляторами C/C++, это две разные вселенные живущие по-своим законам.
а что, компилятор с++ сразу прям любой код сделает офигенным?:)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929051
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanа что, компилятор с++ сразу прям любой код сделает офигенным?:)

естественно! и любые программы на с++ быстры. это ж очевидно!
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929055
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanа что, компилятор с++ сразу прям любой код сделает офигенным?:)
Да, и при этом крайне рекомендуется говнокодить, потому что компилятору интересно оптимизировать такой код в 'хороший и быстрый'.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929113
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltС# не предназначен для написания быстродействующих приложений, поэтому никакой приличной оптимизации там нет.А по существу? Каких оптимизаций нет в Jit? И в каком из? :)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929156
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Алексей К
Вот оно!

авторОкей, пул мы создали, как передать в него нашу функцию?
Для этого мы используем новые возможности С++11 такие как std::bind, лямбды , std::function и variadic templates.

И куда пойдет нанооптимизация в этом случае?

:-)Интерфейсы?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929165
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КИнтерфейсы?
Не, я в том смысле, что общие библиотеки будут использовать более вместимые типы - для обеспечения прозрачности.
И как раз преобразовывать float в double....
А лямбды - как-то должна быть организована уборка мусора - разве нет?
И в результате - "брюки (С++) превращаются в элегантные шорты"....
Все равно приходим к ситуации, что нанооптимизации не имеют смысла (оговорки естественно есть).
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929177
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЯ бы так не сказал. Умеючи на C# из .NET-а можно выжать вполне приличную скорость, сопоставимую с аналогом на C++.

Нельзя, всегда будут потери времени на JIT-компиляцию и отсутствие оптимизации кода компилятором. C# ни для этого создавался, это средство быстрой разработки, компонентов на форму навалил, минимум кода и прожка кое-как работает.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929181
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt, не заливайте, оптимизация кода в JIT-е присутсвует.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929200
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAEolt, не заливайте, оптимизация кода в JIT-е присутсвует.

Какая еще оптимизация? Наличие галочки Optimize Code в свойствах проекта? На оптимизацию нужно большое время, можете сравнить время сборки проекта на плюсах с опцией /O2 и шарпового. У JIT-просто нет времени нормально оптимизировать код, он должен как можно быстрее скомпилировать код и запустить его, чтобы не вызывать раздражение пользователя.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929204
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,
Читаем матчасть про Release mode...
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929210
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltskyANAEolt, не заливайте, оптимизация кода в JIT-е присутсвует.

Какая еще оптимизация?Ну к примеру Jit Optimizations: Inlining .
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929219
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929220
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltНельзя, всегда будут потери времени на JIT-компиляцию и отсутствие оптимизации кода компилятором. C# ни для этого создавался, это средство быстрой разработки, компонентов на форму навалил, минимум кода и прожка кое-как работает.

Не буду спорить, так как видно, что ты просто не в теме.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929222
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronEolt,
Читаем матчасть про Release mode...
ссылка для прочтения
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929224
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929225
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ ещё сейчас обязательно надо вставить что-нибудь про RyuJIT, SIMD и Бенуа Мандельброта.

The JIT finally proposed. JIT and SIMD are getting married.


Круто выглядящая прожка! Ты написал? На universal apps with continuity?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929235
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronEolt,
Читаем матчасть про Release mode...

Поменьше читайте всякую лабуду. Практика лучше. К примеру я использую BCGControlBarPro для MFC и его клон BCGControlBarDotNet под .NET написанный на C++/CLI. И могу тупо сравнить быстродействие сэмплов в релизе на нативном коде и управляемом. И меня очень печалит медленная работа UI написанного .Net. Почему в 2015 году, на мощной машине я должен пользоваться тормозным GUI и видеть как прорисовываются менюшки и тултипы? Почему аналог для MFC работает со-скоростью пули, а .NET`овский тормозит безбожно?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929246
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltПоменьше читайте всякую лабуду. Практика лучше.
Сколько лет у Вас практики написания .NET приложений?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929252
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltПочему аналог для MFC работает со-скоростью пули, а .NET`овский тормозит безбожно?
Это насколько надо не разбираться в теме обсуждения, чтобы сравнивать managed и unmanaged код?
Вы не попутали ничего? Сколько секунд занимает создать одно обычное окно с кнопкой и обработчиков для нее на C# и на C++ с нуля?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929277
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronСколько секунд занимает создать одно обычное окно с кнопкой и обработчиков для нее на C# и на C++ с нуля?
А "с нуля" это как? Что на Дельфи, что на Винформах можно "программировать мышкой". Да и вообще, это нынче не показатель. Так-то по этому показателю будет джаваскрипт с HTML впереди всех - там вообще текстовый файлик обновил и ф5 нажал.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929278
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltПочему аналог для MFC работает со-скоростью пули, а .NET`овский тормозит безбожно?Вангую, что клонировали через одно место. Код смотреть пробовали? Профилировать?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929291
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronEoltПочему аналог для MFC работает со-скоростью пули, а .NET`овский тормозит безбожно?
Это насколько надо не разбираться в теме обсуждения, чтобы сравнивать managed и unmanaged код?
Вы не попутали ничего? Сколько секунд занимает создать одно обычное окно с кнопкой и обработчиков для нее на C# и на C++ с нуля?

Вы первый пост читали? Или сразу с середины обсуждения? Человек расстраивался, что его учат оптимизации злые сишники-байтоепы.
На что я написал, что низкоуровненая оптимизация кода такого сверхвысокоуровневого языка как C# бессмысленна, нет смысла считать байты и выравнивать структуры в памяти, если у тебя по-сути полуинтерпритатор, не делающих серьезных оптимизаций во время сборки проекта. 1С код же не оптимизируют, не для этого создаются такие среды программирования.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929296
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAОтвет на первый вопрос: открой для себя встроенный математический сопроцессор.
Да не так. Идея в том, что блоки в видюхах вроде как не по целости-вещественности чисел отличаются, а по размеру этих чисел. Т. е. для флоатов и для даблов там разные блоки. Причём не какие-то регистры памяти, а, как я понимаю, именно вычислительные блоки - все эти куды, шейдеры.

Смотри, как Хуанг лохов обувает по даблам на новой титьке:
http://www.pcworld.com/article/2896411/the-brutal-graphics-war-continues-as-nvidia-reveals-the-geforce-gtx-titan-x.html
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929297
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42AxeleronСколько секунд занимает создать одно обычное окно с кнопкой и обработчиков для нее на C# и на C++ с нуля?
А "с нуля" это как?
А с нуля - это запустил среду разработки и вперед, время пошло, начиная от первой шага и до запуска готовой программы.

НемоКэп42Что на Дельфи, что на Винформах можно "программировать мышкой". Да и вообще, это нынче не показатель.
Это показатель, потому что на C++ и С# пишутся по сути разные целевые приложения, у которых свои требования. Вы ряд ли станете разрабатывать апликацию с гридами и вводом, выводом данных с базы на C++, потому что долго и непродуктивно. Человек этого не понимает - он хочет одинаковой скорости выполнения программы на том и другом языке. Он пока, правда, еще не знает, что для клиента на C# придется ставить .NET Framework...

НемоКэп42Так-то по этому показателю будет джаваскрипт с HTML впереди всех - там вообще текстовый файлик обновил и ф5 нажал.
JS - некомпилируемый язык, а интерпретируемый, так что он не в счет.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929299
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42skyANAОтвет на первый вопрос: открой для себя встроенный математический сопроцессор.
Да не так. Идея в том, что блоки в видюхах вроде как не по целости-вещественности чисел отличаются, а по размеру этих чисел. Т. е. для флоатов и для даблов там разные блоки. Причём не какие-то регистры памяти, а, как я понимаю, именно вычислительные блоки - все эти куды, шейдеры.
Вот я и спрашивал - в обычных CPU тоже такое, или там самые длинные регистры берут на себя всю работу.

И если второе - самые длинные - то как они работают с короткими данными? Дополняют их до длинных, или пихают несколько коротких в одно длинное, или ещё как-то?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929309
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAEoltПочему аналог для MFC работает со-скоростью пули, а .NET`овский тормозит безбожно?Вангую, что клонировали через одно место.

Возможно в BCGSoft плохие разработчики, и код пишут плохой. Не зря же у них Майкрософт купила их исходный код и внедрила в новый релиз MFC.

авторКод смотреть пробовали? Профилировать?

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

Это насколько надо не разбираться в теме обсуждения, чтобы сравнивать managed и unmanaged код?
Вы не попутали ничего? Сколько секунд занимает создать одно обычное окно с кнопкой и обработчиков для нее на C# и на C++ с нуля?

Вы первый пост читали? Или сразу с середины обсуждения? Человек расстраивался, что его учат оптимизации злые сишники-байтоепы.
На что я написал, что низкоуровненая оптимизация кода такого сверхвысокоуровневого языка как C# бессмысленна, нет смысла считать байты и выравнивать структуры в памяти, если у тебя по-сути полуинтерпритатор (???) (!!!) , не делающих серьезных оптимизаций во время сборки проекта. 1С код же не оптимизируют, не для этого создаются такие среды программирования.

Нет никаких ни полу ни интерпретаторов для C#, это чисто и 100% компилируемый ЯП, во время компиляции переводимый в MSIL код, который заодно во время компиляции может быть и оптимизирован.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929312
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltавторКод смотреть пробовали? Профилировать?

да, но какой смысл стегать кнутом мертвую лошадь? Что я смогу ускорить JIT-компиляцию? Или отключить сборщик мусора, чтобы он не ставил палки в колеса?Профилировали? Ну и что конкретно тормозит?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929315
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eoltда, но какой смысл стегать кнутом мертвую лошадь? Что я смогу ускорить JIT-компиляцию? Или отключить сборщик мусора, чтобы он не ставил палки в колеса?
Ну все... С этого момента перемешались кони-люди... Вы отличаете compile-time от run-time?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929316
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltskyANAпропущено...
Вангую, что клонировали через одно место.

Возможно в BCGSoft плохие разработчики, и код пишут плохой. Не зря же у них Майкрософт купила их исходный код и внедрила в новый релиз MFC.C++ код у них хороший, а C# код говно. Что не так?
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929320
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronEoltда, но какой смысл стегать кнутом мертвую лошадь? Что я смогу ускорить JIT-компиляцию? Или отключить сборщик мусора, чтобы он не ставил палки в колеса?
Ну все... С этого момента перемешались кони-люди... Вы отличаете compile-time от run-time?
С этим я погорячился
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929323
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

читать для оздоровления

\
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929326
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronНет никаких ни полу ни интерпретаторов для C#, это чисто и 100% компилируемый ЯП, во время компиляции переводимый в MSIL код, который заодно во время компиляции может быть и оптимизирован.

А вы знаете, что MSIL код может не компилироваться JIT-компилятором, если загрузка системы в данный момент выше определенного уровня? Руссиновича читали? На слабых/загруженных системах, где нет ресурсов для работы JIT, IL-код будет работать в режиме интерпретации. Это не 100% компилятор, точно вам говорю. Это интерпретатор бай-кода. Конечно можно компилировать сборки во время установки NGEN`ом и копировать их в кэш, но это невсегда удобно.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929327
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttnetivanа что, компилятор с++ сразу прям любой код сделает офигенным?:)

естественно! и любые программы на с++ быстры. это ж очевидно!
В крайнем случае, любой программист С++ достаточно компетентен, чтобы не стрелять себе в ноги. А сколько лет он до этого ломал чужие сервера и коптил мир - это опустим за кадр.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929333
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129И в результате - "брюки (С++) превращаются в элегантные шорты"....
В элегантные "шарпы".
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929338
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42В крайнем случае, любой программист С++ достаточно компетентен, чтобы не стрелять себе в ноги.

Это точно. У тех, кто приходит в шарп с бейсиков происходит ломка других шаблонов.
:-)
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929339
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltskyANAEolt, не заливайте, оптимизация кода в JIT-е присутсвует.

Какая еще оптимизация? Наличие галочки Optimize Code в свойствах проекта? На оптимизацию нужно большое время, можете сравнить время сборки проекта на плюсах с опцией /O2 и шарпового. У JIT-просто нет времени нормально оптимизировать код, он должен как можно быстрее скомпилировать код и запустить его, чтобы не вызывать раздражение пользователя.
А вроде в шарпе есть настройка типа "зааптимизировать прям щас, джиттер отключить"? Т. е. можно скомпилить для конкретной платформы и джиттер на этой платформе работать не будет.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929348
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronчто для клиента на C# придется ставить .NET Framework...
Нафиг клиентов, не уважающих винду.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #38929349
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42В крайнем случае, любой программист С++ достаточно компетентен, чтобы не стрелять себе в ноги. А сколько лет он до этого ломал чужие сервера и коптил мир - это опустим за кадр.

У меня дежавю какое-то. Нет, конечно это всё глупости, выдумки, и неправда. Не любой программист С++ достаточно компетентен, с другой стороны достаточно компетентный программист не будет стрелять себе в ногу в любом языке программирования, даже в JS.
...
Рейтинг: 0 / 0
Проблемы с преждевременностью, задержкой и недержанием...
    #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
75 сообщений из 75, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с преждевременностью, задержкой и недержанием...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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