Example #1
0
        public void ExecuteWriteMicroBenchmark(
            NamedWriteDelegate namedWriteDelegate,
            BenchmarkSerializationFormat benchmarkSerializationFormat)
        {
            IJsonWriter jsonWriter;

            switch (benchmarkSerializationFormat)
            {
            case BenchmarkSerializationFormat.Text:
                jsonWriter = JsonWriter.Create(JsonSerializationFormat.Text);
                break;

            case BenchmarkSerializationFormat.Binary:
                jsonWriter = JsonWriter.Create(JsonSerializationFormat.Binary);
                break;

            case BenchmarkSerializationFormat.Newtonsoft:
                jsonWriter = NewtonsoftToCosmosDBWriter.CreateTextWriter();
                break;

            default:
                throw new ArgumentOutOfRangeException($"Unknown {nameof(BenchmarkSerializationFormat)}: '{benchmarkSerializationFormat}'.");
            }

            jsonWriter.WriteArrayStart();

            for (int i = 0; i < 2000000; i++)
            {
                namedWriteDelegate.WriteDelegate(jsonWriter);
            }

            jsonWriter.WriteArrayEnd();
        }
Example #2
0
 public IEnumerable <object[]> Arguments()
 {
     foreach (FieldInfo fieldInfo in typeof(NamedWriteDelegates).GetFields(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic))
     {
         NamedWriteDelegate writeDelegate = (NamedWriteDelegate)fieldInfo.GetValue(null);
         foreach (BenchmarkSerializationFormat format in Enum.GetValues(typeof(BenchmarkSerializationFormat)))
         {
             yield return(new object[] { writeDelegate, format });
         }
     }
 }