taoensso / nippy

The fastest serialization library for Clojure
https://www.taoensso.com/nippy
Eclipse Public License 1.0
1.04k stars 60 forks source link

Reducing the dependency footprint #176

Open scarytom opened 3 weeks ago

scarytom commented 3 weeks ago

I'm using nippy without any compression. It would be nice to exclude the dependencies that are (I think) only required for compression, and keep the dependency footprint smaller. At the moment, if I exclude these dependencies, then compilation fails. I guess the code could be re-worked to dynamically reference classes in these libs? Happy to experiment with this and do a pull request if you think it is acceptable to do this.

https://github.com/taoensso/nippy/blob/5a9a3913319bde692fb2a50696036b5493e15eb1/project.clj#L13-L14

ptaoussanis commented 3 weeks ago

@scarytom Hi Tom! Would be happy to look at a PR that makes these optional if it's pretty simple and doesn't negatively impact current users 👍

scarytom commented 3 weeks ago

I quickly put a pull-request together, just to show you what it would look like before refining anything too much. I'm concerned that these changes might affect performance, which is obviously a big deal, so benchmarking definitely required.