Re[19]: Да ну и фиг с этой Java-ой. .Net будет убит Rust-ом
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 09.08.16 14:53
Оценка:
Здравствуйте, chaotic-kotik, Вы писали:

CK>Здравствуйте, Serginio1, Вы писали:


S>>Отсутствие инлайна основная проблема. Для оптимизации никто не запрещает использовать структуры. Да проблема с массивами на стеке (в классе), но это уже мелочи.


CK>Чтобы работал GC компилятор дотнета вставляет дополнительный код (барьеры). Чтобы проверять на выход за границу массива компилятор дотнета генерирует кучу проверок. Помнится, несколько лет назад, JIT в дотнете не мог очень простой цикл развернуть. А вы тут ждете каких-то чудес производительности от инлайна делегатов. Чтобы приблизиться к С++ по производительности нужно не только компилятор исправить, но и например переписать полностью стандартную библиотеку таким образом, чтобы она не выделяла память на каждый чих без лишней необходимости и чтобы работа на низком уровне абстракции (работа с памятью напрямую) не выглядела так, как она выглядит сейчас. На С++ ведь реально код на порядок проще получается, если нужно писать что-то близкое к железу и производительное.


Еще раз повторю. Время идет и все меняется. Те же циклы типа
for(int i=0;i<ar.Length,i++)
    var a=ar[i];

Никаких проверок не будет. А для работы с матрицами есть SIMD.
Речь, не идет о замене C++. Речь идет о увеличении производительности .Net кода.
Большинству не нужна скорость выполнения, а нужна скорость разработки. Я 1С ник, и в большей степени у нас упирается в БД. А вот легкость создания клиент-серверного имеет большее значение
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.