Здравствуйте, Sinclair, Вы писали:
S>·>Справедливости ради стоит заметить, что в шарпе пришлось унизительно расставлять unsafe да ещё какие-то прагмы для инлайнинга.
S>Там надо ещё посмотреть, "пришлось" или "удалось". Я не видел сравнительных бенчей .Net версии супротив Java.
Я тоже. Но почему-то уверен, что значительной разницы быть не должно. Может десятки процентов. Упирается уже всё в железо по максимуму.
S> И вообще, там много непонятного кода.
В этом и мой поинт. На java всё тупо и просто. И работает быстро, и безопасно.
S>·>Такое ощущение, что писать на шарпе high performance можно только из любви к искусству...
S>Я с вами согласен, но акценты расставил бы по-другому: писать high performance из любви к искусству лучше таки на шарпе.
Но зачем? Когда уже совсем битовыжимательство идёт, то уж тогда взять натив или вообще fpga/etc и не мучить сову. А в нише компромисса безопасно+производительно — лучше подойдёт java.
S>Немножко пообщался с коллегами, которые пилят JVM, и они, в целом, не вполне довольны процессом оптимизации перформанса приложений.
А кто доволен-то?
S>Потому что JIT в джаве живёт весьма своей жизнью; поэтому приходится много шаманить в поисках способа заставить его сделать что-то предсказуемое.
А где не так с оптимизацией перформанса?
S>И это всё ещё может сломаться на следующей сборке JVM. В дотнете тоже есть такие места (интересны комменты в исходниках типа decimal), но в целом он даёт больше контроля над перформансом.
Вот только контроль не над перформансом, а над компилятором. Ведь "воткнём тут прагму force inline" — это лишь значит, что компилятор заинлайнит тут функцию. Но будет ли такой код действительно выполняться быстрее — неизвестно!
S>Такое впечатление, что вся эта ансейф-магия в дотнетном дисрупторе нужна для покрытия тех случаев, который джавовский дисруптор не умеет в принципе: когда евенты в очереди лежат не по ссылке, а по значению.
Если я правильно понимаю, то в яве это не принципиально, ибо евенты всё равно почти наверняка будут расположены
локально. Может и даёт какие-то проценты, но игра в усложнизм уже не стоит свеч.