fastdigest: Fast, memory constant hashing of R objects

Description Usage Arguments Details Author(s) References See Also Examples

View source: R/fastdigest.R

Description

Fast, memory constant hashing of R objects

Usage

1
fastdigest(obj, ref_serializer = NULL)

Arguments

obj

The object to generate a hash digest for

ref_serializer

(optional) A serializer for reference-style objects, see serialize

Details

obj will be hashed using R's internal serialization logic with a custom target which applies applying Jenkins' SpookyHash (v2) in a streaming fashion. This avoids (ever) copying the data out of the R object itself, providing both speed and memory constancy.

It also guarantees that the "representation" of the R object being hashed is the same as the serialized version would be, if created.

Author(s)

Gabriel Becker

References

Jenkins, B. (2012). SpookyHash: a 128-bit noncryptographic hash. http://burtleburtle.net/bob/hash/spooky.html.

See Also

serialize

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
x = rnorm(100)
h = fastdigest(x)
y = x
## force dup
y[100] = 1
h2 = fastdigest(y)
identical(h, h2) #FALSE
y[100] = x[100]
h3 = fastdigest(y)
identical(h, h3) # TRUE

Example output

[1] FALSE
[1] TRUE

fastdigest documentation built on May 2, 2019, 12:09 p.m.