Size: a a a

Clojure — русскоговорящее сообщество

2019 May 13

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Сишный апи поверх C++?
источник

РГ

Рустам Гилазтдинов in Clojure — русскоговорящее сообщество
> APIs for Python, C#, and C
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Самый простой вариант - натравить SWIG, оно вытащит все потроха C++-библиотеки в Java, и надо будет поверх ещё приемлемым Java API обернуть.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Но я не трогал SWIG с начала 2000-ых, может оно и сдохло.
источник

РГ

Рустам Гилазтдинов in Clojure — русскоговорящее сообщество
там на самом деле нужно всего-то вытащить инициализацию одного объекта и пару его методов
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Тогда просто JNI написать.
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Рустам Гилазтдинов
там на самом деле нужно всего-то вытащить инициализацию одного объекта и пару его методов
а сделать приложение обвязку на плюсах и дергать его из clojure не вариант?
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
это всяко проще, чем секс с JNI, кмк
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Какой-то IPC проще JNI?
источник

РГ

Рустам Гилазтдинов in Clojure — русскоговорящее сообщество
дело в том, что с плюсами я не знаком, и поэтому вариант с
> сделать приложение обвязку на плюсах
мне не подходит

в плюсовой библиотеке фактически инициализируется граф с весами, ему на вход идет датка, граф датку с весами прогоняет и дает чиселку в ответ (инференс, в общем)

ну и нужно это все в веб-сервис завернуть по итогу
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
а можно как то в докер запаковать и http front end прикрутить? как микросервис
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Рустам Гилазтдинов
дело в том, что с плюсами я не знаком, и поэтому вариант с
> сделать приложение обвязку на плюсах
мне не подходит

в плюсовой библиотеке фактически инициализируется граф с весами, ему на вход идет датка, граф датку с весами прогоняет и дает чиселку в ответ (инференс, в общем)

ну и нужно это все в веб-сервис завернуть по итогу
для "дернуть метод по данным извне" знать плюсы особо не надо
источник

РГ

Рустам Гилазтдинов in Clojure — русскоговорящее сообщество
сделал это на питоне, завернул в gRPC, но производительность невысокая, в моей задаче неприемлимая, вот и подумалось мне что в кложе/жаве все будет лучше
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Всё можно сделать, я так понимаю, что @nonaryr нужно с как можно меньшим количеством C++, но чтобы быстро
источник

РГ

Рустам Гилазтдинов in Clojure — русскоговорящее сообщество
все так, да)
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
@nonaryr Производительность из-за обёртки, gRPC или чего?
источник

РГ

Рустам Гилазтдинов in Clojure — русскоговорящее сообщество
из-за обертки, питон слабоват
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Тогда и JNI не поможет, там же такой же оверхед из-за сериализации туда-сюда.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Лучше прямо на C++ написать вебсервис (= дать денег написать вебсервис).
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
И в кубернетес, чтобы когда сегфолтится - новый экземпляр поднимался :D
источник