Информация об изменениях

Сообщение Re[13]: Оставаться в С++ или уходить? от 05.02.2022 7:56

Изменено 05.02.2022 7:59 vsb

Re[13]: Оставаться в С++ или уходить?
Здравствуйте, Stanislav V. Zudin, Вы писали:

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

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

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

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

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

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

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

Причём с рисованием там как раз могут быть проблемы, т.к. графику на жаве мало кто делает и вероятно придётся делать свои биндинги и прочее. Я про чистую логику.
Re[13]: Оставаться в С++ или уходить?
Здравствуйте, Stanislav V. Zudin, Вы писали:

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

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

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

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

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

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

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

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

При обработке больших данных вероятно придётся писать не-идиоматичный код. Всякие int[] и подобное. Но это не так уж страшно.