Re[27]: Эльбрус мёртв, да здравствует Эльбрус-Б!
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.06.25 03:59
Оценка:
Здравствуйте, ·, Вы писали:
·>Я тоже. Но почему-то уверен, что значительной разницы быть не должно. Может десятки процентов. Упирается уже всё в железо по максимуму.
Не совсем.

·>В этом и мой поинт. На java всё тупо и просто. И работает быстро, и безопасно.

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

·>Но зачем? Когда уже совсем битовыжимательство идёт, то уж тогда взять натив или вообще fpga/etc и не мучить сову. А в нише компромисса безопасно+производительно — лучше подойдёт java.

Натив плох тем, что тянет за собой натив. Вызовы из менеджед в натив небесплатны, значит либо придётся мириться с неэффективностью, либо тащить в натив всё приложение.

·>А кто доволен-то?


·>А где не так с оптимизацией перформанса?
Там, где можно напрямую влиять на то, что будет исполняться в рантайме. Например, в дотнете.

·>Вот только контроль не над перформансом, а над компилятором. Ведь "воткнём тут прагму force inline" — это лишь значит, что компилятор заинлайнит тут функцию. Но будет ли такой код действительно выполняться быстрее — неизвестно!

Не обязательно заинлайнит. И не обязательно не заинлайнит без прагмы.

·>Если я правильно понимаю, то в яве это не принципиально, ибо евенты всё равно почти наверняка будут расположены локально. Может и даёт какие-то проценты, но игра в усложнизм уже не стоит свеч.

Локальность-локальностью, но двойную косвенность это не убирает. Это примерно как с проверкой выхода за диапазон массива: переход процессором предсказывается верно, но всё рано процессор честно тратит такт на выполнение самой проверки. Так и тут — делается лишнее обращение к памяти.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.