public void SampleIntegerDistributionTest()
        {
            var map     = CreateSampleShardMap();
            var results = new[] { 0, 0, 0, 0, 0 };

            const int testUpTo = 10;

            for (var i = 1; i < testUpTo; i++)
            {
                var hash = (long)CityHasher.CityHash64String(i.ToString(CultureInfo.InvariantCulture));

                var s = 0;
                foreach (var shard in map.Shards)
                {
                    if (hash >= shard.LowDistributionKey && hash < shard.HighDistributionKey)
                    {
                        ++results[s];
                        continue;
                    }
                    ++s;
                }
            }

            for (var i = 0; i < 5; i++)
            {
                Console.WriteLine("Shard {0}: {1}", i + 1, results[i]);
            }
        }
 public void SampleIntegerTest()
 {
     for (var i = 0; i < 1000; i++)
     {
         var s = i.ToString(CultureInfo.InvariantCulture);
         Console.WriteLine(s.PadLeft(5) + ": " + (long)CityHasher.CityHash64String(s));
     }
 }
        public void SampleStringDistributionTest()
        {
            var names = new[] { "jodell", "mnigels", "todell", "aadams", "bjoel", "sjones" };

            foreach (var name in names)
            {
                Console.WriteLine(name.PadLeft(15) + ": " + (long)CityHasher.CityHash64String(name));
            }
        }
 /// <summary>
 /// Gets the distribution key for sharding key for the DHard Set.
 /// </summary>
 /// <param name="shardingKey">The sharding key.</param>
 /// <returns>System.Int64.</returns>
 public long GetDistributionKeyForShardingKey(string shardingKey)
 {
     return((long)CityHasher.CityHash64String(shardingKey));
 }
 private static long GetDistributionKey(int shardingKey)
 {
     return(CityHasher.CityHash64StringGetLong(shardingKey.ToString(CultureInfo.InvariantCulture)));
 }
 private static long GetDistributionKey(string shardingKey)
 {
     return(CityHasher.CityHash64StringGetLong(shardingKey));
 }