Сообщение Re[14]: Причины популярности java от 26.05.2022 18:25
Изменено 29.05.2022 9:34 ·
Re[14]: Причины популярности java
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>·>С т.з. публичного API — обращение к нему безопасно. А как оно там устроено вунутре — детали имплементации. В шарпе ошибки с Unmanaged memory роняют всё непредсказуемо.
НС>Ничего там непредсказуемо при работе с MMF не роняется, не переживай. Точно так же все завернуто в safe обертку.
Да, ты прав. Оно не роняется, а просто безбожно тормозит. По сравнению с java на микробенчмарке putLong(getLong() + 1) работает в ~20 раз медленнее (2.5ns vs 450ns). Т.к. там каждое обращение к буферу идёт через обёртку SafeHandle с ref-counter через volatile, тогда как java просто пишет в область памяти напрямую. По-моему, это на корню убивает идею MMF — когда обращение к замапленной области должна быть просто обращением к физ.памяти. Индусы.
НС>·>С т.з. публичного API — обращение к нему безопасно. А как оно там устроено вунутре — детали имплементации. В шарпе ошибки с Unmanaged memory роняют всё непредсказуемо.
НС>Ничего там непредсказуемо при работе с MMF не роняется, не переживай. Точно так же все завернуто в safe обертку.
Да, ты прав. Оно не роняется, а просто безбожно тормозит. По сравнению с java на микробенчмарке putLong(getLong() + 1) работает в ~20 раз медленнее (2.5ns vs 450ns). Т.к. там каждое обращение к буферу идёт через обёртку SafeHandle с ref-counter через volatile, тогда как java просто пишет в область памяти напрямую. По-моему, это на корню убивает идею MMF — когда обращение к замапленной области должна быть просто обращением к физ.памяти. Индусы.
java | |
| |
c# | |
| |
Re[14]: Причины популярности java
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>·>С т.з. публичного API — обращение к нему безопасно. А как оно там устроено вунутре — детали имплементации. В шарпе ошибки с Unmanaged memory роняют всё непредсказуемо.
НС>Ничего там непредсказуемо при работе с MMF не роняется, не переживай. Точно так же все завернуто в safe обертку.
Да, ты прав. Оно не роняется, а просто безбожно тормозит. По сравнению с java на микробенчмарке putLong(getLong() + 1) работает в ~20 раз медленнее (2.5ns vs 45ns). Т.к. там каждое обращение к буферу идёт через обёртку SafeHandle с ref-counter через volatile, тогда как java просто пишет в область памяти напрямую. По-моему, это на корню убивает идею MMF — когда обращение к замапленной области должна быть просто обращением к физ.памяти. Индусы.
НС>·>С т.з. публичного API — обращение к нему безопасно. А как оно там устроено вунутре — детали имплементации. В шарпе ошибки с Unmanaged memory роняют всё непредсказуемо.
НС>Ничего там непредсказуемо при работе с MMF не роняется, не переживай. Точно так же все завернуто в safe обертку.
Да, ты прав. Оно не роняется, а просто безбожно тормозит. По сравнению с java на микробенчмарке putLong(getLong() + 1) работает в ~20 раз медленнее (2.5ns vs 45ns). Т.к. там каждое обращение к буферу идёт через обёртку SafeHandle с ref-counter через volatile, тогда как java просто пишет в область памяти напрямую. По-моему, это на корню убивает идею MMF — когда обращение к замапленной области должна быть просто обращением к физ.памяти. Индусы.
java | |
| |
c# | |
| |