public static ulong Hash64 <T>(T o, Func <System.Reflection.PropertyInfo, bool> propertyFilter) { List <Func <object, IEnumerable <byte> > > functions = GetCachedCompiledHashFunctions <T>(propertyFilter); var bytes = functions.SelectMany(f => f(o)).ToArray(); return(Farmhash.Hash64(bytes, bytes.Length)); }
internal static ulong Hash64_NoCache_forBenchmarks <T>(T o) { IEnumerable <Func <object, IEnumerable <byte> > > functions; functions = BuildHashFunctionsWrapped <T>(ACCEPT_ALL).Select(f => f.Compile()).ToList(); var bytes = functions.SelectMany(f => f(o)).ToArray(); return(Farmhash.Hash64(bytes, bytes.Length)); }