cwida / fsst

Fast Static Symbol Table (FSST): efficient random-access string compression
MIT License
387 stars 36 forks source link

FYI: Making java bindings for fsst #14

Open JervenBolleman opened 9 months ago

JervenBolleman commented 9 months ago

Dear @peterboncz, all,

Just wanted to say thank you for creating and documenting FSST so clearly. I am implementing some java bindings for FSST at FSST4j.

I had to reimplement the decoder in Java (easy enough once I finally understood how the fsst_export data structure is encoded, took me longer than it should have). This is because the fsst_decompress is not findable by jextract as it is an inline function.

Still lots of work to be done before this fsst4j is production ready. The reason I wanted to inform you about this work early is that I thought it was correct to have the automatic generated binding code to be placed into a java package nl.cwi.da.fsst to give proper credit. However, you might prefer that is done differently.

Regards, Jerven

jeschkies commented 8 months ago

I've started with Rust bindings https://github.com/jeschkies/fsst-rs and moved the fsst_decompress but I guess it should be ported instead, like you did.

Unfortunately my bindings are not working yet.

peterboncz commented 7 months ago

apologies for the late reaction great to hear this is being picked up in JVM and rust. In order to give these implementations more visibility, and try to limit fragmentation of implementations, I would be willing to let (good-quality) implementations into this repo. You can also contact me privately if you wish to discuss this.