Re[13]: Оставаться в С++ или уходить?
От: vsb Казахстан  
Дата: 05.02.22 07:56
Оценка: +1
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Потянет твоя Ява пересчитывать такое на лаптопе в реальном времени?

SVZ>Под "пересчитывать" я подразумеваю не только рисование, но и обработку данных (передвинули компонент — трассы переложить, полигоны перезалить, нарушения найти/посчитать и т.д.).

Я на яве программирую больше 10 лет. И в целом часто ковыряюсь с производительностью. Могу так сказать:

По скорости хороший код на яве будет отставать от хорошего кода на C++ в полтора-два раза. Могут быть нюансы с векторизацией. Но в целом примерно такой порядок.

По памяти жава её жрёт как не в себя, по крайней мере по меркам С++. Тут никаких чудес нет.

Ещё есть нюанс с латентностью. Сборщик мусора может остановить поток или всю программу на несколько десятков миллисекунд (а то и сотен). Современные сборщики мусора стали довольно хороши, но за счёт того, что жрут ещё больше памяти. Поэтому в целом можно пытаться даже 60 FPS со сложными расчётами.

Я не знаю, как твой код на С++ работает, какой у него запас. Но примерно можно рассчитывать на то, что жава будет работать не более чем в 2 раза медленней и если нет требований к латентности и этого хватает, то её можно использовать.

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

При обработке больших данных вероятно придётся писать не-идиоматичный код. Всякие int[] и подобное. Но это не так уж страшно. В светлом будущем это планируется улучшить, добавив value-классы.
Отредактировано 05.02.2022 7:59 vsb . Предыдущая версия . Еще …
Отредактировано 05.02.2022 7:59 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.