powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с преждевременностью, задержкой и недержанием...
25 сообщений из 75, страница 1 из 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
25 сообщений из 75, страница 1 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с преждевременностью, задержкой и недержанием...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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