Skip to content

Instantly share code, notes, and snippets.

@IlyaHalsky
Created July 12, 2018 07:05
Show Gist options
  • Save IlyaHalsky/63872b88089d22622a803b13113e6d41 to your computer and use it in GitHub Desktop.
Save IlyaHalsky/63872b88089d22622a803b13113e6d41 to your computer and use it in GitHub Desktop.
### fix sbt notes:
bloop
Among these efforts we find organizations like Stripe or Wix working on better Scala support for Bazel or
Twitter getting excellent Scala support in Pants, and individuals like Jan Christopher Vogt or Li Haoyi working on cbt and mill respectively.
vovapolu/sbt-big-project -- faster sbt by extra caching
lihaoyi/mill -- sbt alternative
lihaoyi/acyclic -- may be this can be base for modules, not sbt subprojects
coursier/coursier
### hash to compare objects -- exploration state:
vovapolu/scala-data-classes -- replace case class-es by @data
http://greenrobot.org/essentials/features/performant-hash-functions-for-java/comparison-of-hash-functions/
Perfect_hash_function -- after data become constant, with no collisions.
https://en.wikipedia.org/wiki/List_of_hash_functions#Non-cryptographic_hash_functions
?SpookyHash, cityhash, farmhash
?collisions rare: FNV-1, FNV-1a, DJB2, DJB2a, SDBM & MurmurHash
MurmurHash is very fast and version 3 supports 128bit length, Implemented in Java and Scala.
128: fnv, murmur, spooky, city, highway
mvn:
net.jpountz.lz4 -- fast, used by kafka, but 64bit
com.twitter : util-hashing -- bound to scala version
OpenHFT/Zero-Allocation-Hashing -- 64bit only?
google/guava -- slow?
to try more:
greenrobot/essentials -- aka java-common
sangupta/murmur
https://github.com/google/guava/wiki/HashingExplained
aappleby/smhasher -- utility to test hashes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment