[ANN] - libpython-clj2 beta 1

67 views
Skip to first unread message

Chris Nuernberger

unread,
Mar 2, 2021, 11:40:56 AM3/2/21
to clo...@googlegroups.com
Good morning Clojurians,

We have an important new release of libpython-clj which brings support for JDK-16's [ffi interface](https://openjdk.java.net/jeps/191) and support for 32 bit systems.  We built this on a brand new [ffi layer](https://cnuernber.github.io/dtype-next/tech.v3.datatype.ffi.html) in dtype-next which virtualizes the actual FFI system and then uses codegeneration to create the exact types and binding sites required for a given subsystem - JNA or JDK-16 at this pointer - all mostly transparently to the user. 

Interestingly, JDK-16's FFI pathway **is** much faster than JNA's directmapped pathway but it is also more brittle; when I attempted to load numpy things failed but aside from that tests passed and I imagine if I wanted to mess around with LD_LIBRARY_PATH I could get everything to work.

The virtualization of the FFI pathway also opens the door to other python binary library providers such as directly linking a graal native executable to libpython shared library or using javacpp's version of python.

I am really proud to bring you this as I see it as an important step to both simplify libpython-clj and to provide serious future proofing so we can rely on the library for some time moving forward.  Enjoy!

Chris
Reply all
Reply to author
Forward
0 new messages