@jrhawley #pandas is a memory hog too (of course Python in general also tends to use up lots of memory).
#DuckDB is probably the best solution out there for data management and queries: sqlite3 interface, server less, static type lang #c api that should allow for embedding either via #swig or #FFI.
#IPC are the big pic considerations when one is using those in multilang implementations.
#pandas #duckdb #c #swig #ffi #ipc
If you’re a fan of the amazing #Swig sugar cookies and are bummed we can’t get them here (my friend brings them from Utah!), this copycat recipe turned out pretty well! https://www.melskitchencafe.com/the-best-swig-sugar-cookies/ #baking #cookies
@EndlessMason Almost every “safe” language has some kind of foreign function interface where guarantees break down. #Java has JNI, Microsoft .NET has P/Invoke, and #Rust just calls theirs #FFI.
Perl’s XS is a glue language mostly made up of #C macros that lets you wire up Perl’s guts to C code. There are also alternatives like #SWIG and FFI::Platypus, the latter of which uses a separate portable library (written in C, natch) that can talk to lots of calling conventions, not just C.
There is a brilliant and simple header-only C++ library to do rpc over tcp, but of course it is tied to C++, and so would not integrate with anything else, unless maybe thru #swig, which is a level of complexity, like protobuf, that I do not want.
Do I know anyone who knows #SWIG?
The generated code is dying on
_libarchive_wrap.c(7095): error C2065: 'mode_t': undeclared identifier among other things