private static void RunReadBenchmark( Payload payload, bool useUtf8) { // Don't really need to test both serialization formats, since they are similiar. IJsonReader jsonReader = JsonReader.Create(payload.Binary); while (jsonReader.Read()) { // Materialize the value switch (jsonReader.CurrentTokenType) { case JsonTokenType.BeginArray: case JsonTokenType.EndArray: // Single byte tokens break; case JsonTokenType.String: UtfAnyString value = jsonReader.GetStringValue(); if (useUtf8) { Utf8String _ = value.ToUtf8String(); } else { string _ = value.ToString(); } break; default: throw new ArgumentException("$Unknown token type."); } } }
public UInt128 Visit(CosmosString cosmosString, UInt128 seed) { UInt128 hash = seed == RootHashSeed ? RootCache.String : MurmurHash3.Hash128(HashSeeds.String, seed); UtfAnyString utfAnyString = cosmosString.Value; hash = utfAnyString.IsUtf8 ? MurmurHash3.Hash128(utfAnyString.ToUtf8String().Span.Span, hash) : MurmurHash3.Hash128(utfAnyString.ToString(), hash); return(hash); }
public EagerCosmosString(UtfAnyString value) { this.Value = value; }