gmarcais / Jellyfish

A fast multi-threaded k-mer counter
Other
460 stars 136 forks source link

standalone C++ API for lock-free concurrent hashmap? #184

Open colin-heberling opened 2 years ago

colin-heberling commented 2 years ago

Hi,

I'd like to use just the multithreaded hashmap implementation from jellyfish in a C++ application, as well as the key encoding, if that's separate. Is this available anywhere? One line from the publication seemed to indicate that it was, but I don't see anything obvious here.

Thanks!

gmarcais commented 2 years ago

Hi colin,

Jellyfish does have a library that you can use independently of the executable itself. It comes with a lot more things than just the hash though, but it should work. When you compile and install jellyfish, it should install the header files and the shared library as well.

Extracting the hashmap as a self-contained small number of header files would be nice indeed.

colin-heberling commented 2 years ago

I've looked briefly over the files contained in the library before, but it's not clear to me where the hash table is located. How difficult do you think it would be for you to extract it into a separate module (ideally as a separate project, I don't think it would make sense to compromise jellyfish of course)?

And additionally, is the hash table written as a template or are your chosen data types hard-coded?

On Tue, Feb 1, 2022, 11:05 gmarcais @.***> wrote:

Hi colin,

Jellyfish does have a library that you can use independently of the executable itself. It comes with a lot more things than just the hash though, but it should work. When you compile and install jellyfish, it should install the header files and the shared library as well.

Extracting the hashmap as a self-contained small number of header files would be nice indeed.

— Reply to this email directly, view it on GitHub https://github.com/gmarcais/Jellyfish/issues/184#issuecomment-1027008520, or unsubscribe https://github.com/notifications/unsubscribe-auth/AU3SAKECHSD2I4JFS3DHFTDUZAAEBANCNFSM5M2DEWWQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>