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

Proof of concept - Fixes #133 - nippy require times #134

Closed cnuernber closed 3 years ago

cnuernber commented 4 years ago

Simplest fix I could think of was to build a nippy specific version (no cljs support) of encore that did not require core.async as part of its loading process.

I also upgraded the various memoize functions to use per-bucket locking features of concurrent hashmaps which removes the need for delay and deref.

A better pathway may be to using an getClassByName check or something like that that doesn't initiate the core.async loading process unnecessarily. Or potentially making the check for core.async a delayed check as opposed to a compile time check.

Or nothing :-). Maybe not worth it :-).

cnuernber commented 3 years ago

Closing this! This is fixed via require of encore upstream 3.7.X. Thanks :-).