Size: a a a

2018 August 30

p

pragus in graalvm_ru
Паша Финкельштейн
в нативе или в обычной джаве?
Обычной
источник

ПФ

Паша Финкельштейн in graalvm_ru
В каких терминах тебя интерсует?
источник

ПФ

Паша Финкельштейн in graalvm_ru
пперфоманс/память/структуры данных?
источник

ПФ

Паша Финкельштейн in graalvm_ru
если по скорости — то это примерно стоимость 10-20 инструкций джава байткода
источник

ПФ

Паша Финкельштейн in graalvm_ru
вот тут похоже на то что у меня в голове: http://golangcloud.blogspot.com/2012/05/understand-overhead-of-jni.html
источник

ПФ

Паша Финкельштейн in graalvm_ru
когда-то жили low-overhead штуки, но мне кажется они умерли. BridJ и ещё что-то такое
источник

p

pragus in graalvm_ru
Паша Финкельштейн
В каких терминах тебя интерсует?
Стоимость пустого вызова. Везде где я видел, вызов чего-то через ffi чего-то стоит.

В luajit/pypy/v8 чаще выгоднее сделать эквивалент вызываемой ф-ии.
источник

ПФ

Паша Финкельштейн in graalvm_ru
в джаве тоже стоит, конечно. Но в джаве очень хороший джит, поэтому крайне редко правда надо что-то нативное вызывать
источник

E

Etki in graalvm_ru
насколько понимаю, чаще всего это нужно для подвязок к либам
источник

ПФ

Паша Финкельштейн in graalvm_ru
Единственный случай за всю жизнь когда мне было надо - это когда я цеплялся к libmp3lame
источник

E

Etki in graalvm_ru
https://github.com/Davipb/jamspell-java ну вот из последнего, например
источник

p

pragus in graalvm_ru
Etki
насколько понимаю, чаще всего это нужно для подвязок к либам
Любая тяжёлая математика
источник

ПФ

Паша Финкельштейн in graalvm_ru
pragus
Любая тяжёлая математика
С появлением Граля - больше нет
источник

ПФ

Паша Финкельштейн in graalvm_ru
И раньше было не всегда надо, кстати. Я писал криптографию и она хорошо работала
источник

ПФ

Паша Финкельштейн in graalvm_ru
В математике очень помогает эскейп анализ и инлайнинг
источник

ПФ

Паша Финкельштейн in graalvm_ru
И в математике из часто просто делать
источник

OC

Oleg Chirukhin ☄️ 🧙🏻‍♂️🚀 in graalvm_ru
pragus
А вот у меня как раз вопрос: а чего стоит вызов через jni?
если для языка есть Трюфель-компилятор, то тебе не нужен JNI и вызов не стоит почти ничего, да?)
источник

p

pragus in graalvm_ru
Паша Финкельштейн
И раньше было не всегда надо, кстати. Я писал криптографию и она хорошо работала
Смотря что значит хорошо. Например, gcc7 даёт код для sha256 лучше, чем написанный руками с sse/avx
источник

ПФ

Паша Финкельштейн in graalvm_ru
pragus
Смотря что значит хорошо. Например, gcc7 даёт код для sha256 лучше, чем написанный руками с sse/avx
Надо бенчмаркать конкретные кейсы. В джаве не очень быстрые регулярные выражения, но вроде бы есть библиотека с быстрыми
источник

ПФ

Паша Финкельштейн in graalvm_ru
И надо смотреть perfasm чтобы понять что там сгенерировалось в С2
источник