Войти
ПрограммированиеФорумФизика

Зачем Юнити своя физика ? (3 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#30
(Правка: 14:48) 14:47, 24 мар. 2019

FlyOfFly
Посыл тут был такой.
Неважно там пютон или юнити-прогание или паскаль или чего ещё.
Важный тут момент —- есть большой объем информации который надо знать, на уровне типа книжка 800листов. Как это учить методы и способы которые работают. это если что — не списать пять уроков с интернет-сайта.


#31
(Правка: 14:57) 14:55, 24 мар. 2019

Rikk
> Как это учить методы и способы которые работают. это если что — не списать пять
> уроков с интернет-сайта.
А я и не списывал, это уныло, тем более я и не читал никогда уроки:"как сделать очевидную вещь за 1000страниц"
Rikk
> Важный тут момент —- есть большой объем информации который надо знать, на
> уровне типа книжка 800листов.
Это не большой объем же

#32
(Правка: 16:58) 16:55, 24 мар. 2019

Kinjal,
Latest commit e043871 on 2 Apr 2018

Сейчас и Активно ?

C# в принципе медленный по сравнению с С++.  Ну, написали люди и написали... это их дело.

#33
18:22, 24 мар. 2019

C# принципиально медленный по сравнению с C++, когда JIT-компилятор C#/IL не может векторизовать код, а компилятору C++ это удаётся.

1) Компиляторам C++ удаётся это не всегда и не всегда векторизованный результат оказывается сильно лучше невекторизованного. В зависимости от конкретного компилятора C++, скорость одинакового кода может отличаться в несколько раз. Также безобидный рефакторинг может в несколько раз ускорить или замедлить результат, в зависимости от фазы Луны.

2) Эти две цепочки принципиально не отличаются:
C++ -> компилятор Clang -> LLVM IR -> компилятор LLVM -> машинный код
HPC# -> компилятор C# -> IL -> компилятор Burst -> LLVM IR -> компилятор LLVM -> машинный код

Всеми оптимизациями занимается один и тот же LLVM.

3) Скорость C# очень сильно зависит от того, что было наворочено в исходном коде. Напишешь с использованием LINQ и абстрактных коллекций, будет одна скорость; напишешь с массивами и циклами ― другая; развернёшь циклы, воспользуешься указателями, прикрутишь руками SIMD ― третья.

Т.е. на C#, чтобы было быстро, надо уметь так писать. На C++ надо уметь писать так, чтобы компилятор сумел векторизовать.

#34
18:40, 24 мар. 2019

в C# можно прикрутить указатели ?

#35
18:42, 24 мар. 2019

bykabak
Они у него всегда были, с рождения.

#36
18:56, 24 мар. 2019

bykabak
> в C# можно прикрутить указатели ?
Они есть в небезопасном коде.
ДОКИ

#37
20:33, 24 мар. 2019

В небезопасном коде ? :)  Это значит, что любой коммерческий проект ставит крест на указателях в C#. Или я ошибаюсь ?

#38
20:58, 24 мар. 2019

Ничего не значит, кроме того что для использования указателей надо явно сказать компилятору, что сейчас вот тут я собираюсь использовать указатели и, если облажаюсь, то это будет на моей совести. Впрочем, творить непотребства с памятью можно и без указателей и unsafe-контекста.

#39
21:14, 24 мар. 2019

Вы мне тогда поясните, чем так удобен С#  ?  Зачем его создавали , кроме как в пику Java  ?

Если руки кривые, то никакой безопасный код не поможет )

#40
21:19, 24 мар. 2019

Чтобы был. Никто никого не заставляет.

#41
21:28, 24 мар. 2019

Да, для офисных приложений отлично. Но почему Unity на С#  для меня загадка

#42
(Правка: 23:36) 23:28, 24 мар. 2019

Ну не Яву же и не JavaScript. Почему бы и не C#, чем плохо? Тем более, что два других, Boo и UnityScript, которые тоже были, оказались никому не нужны и отвалились.

Язык общего назначения, популярный, понятный, лаконичный, развивающийся, штатно поддерживает интероп с нативными библиотеками, в т.ч. ОС. Не без сюрпризов, но их немного. С отличным инструментарием разработчика, отличной документацией по языку и стандартным библиотекам, кучей обучающей литературы. Ну и скорость на уровне.

В январе в одной флеймовой теме на rsdn мучал кусок кода на C++ и C#, который типа блюрит картинку с некоторым добавочным условием. Перебрал все компиляторы C++, до которых смог дотянулся, потому что мне естественно сказали, что и компилятор у меня говно и ключи неправильные ― так всегда говорят, когда С++ оказывается не быстрее. А получалось чё-та даже медленнее. Потом, с какой-то попытки gcc, наконец, смог сравняться. Итоговые лучшие результаты получились такие:

+ Показать

Код конечно не сильно большой и сложный, но задача вполне практическая, а ситуация показательная (уж в который раз): С++ ничего по скорости не обещает и не гарантирует.

#43
23:48, 24 мар. 2019

Так вроде ж C# это развитие C++. Наследования, все дела.

#44
(Правка: 23:58) 23:57, 24 мар. 2019

sledo,
Это была шутка ?

alexzzzz,
не знаю что за задача...  нужно смотреть на asm кода и анализировать что и почему.

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

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумФизика