public void Test_SimpleObject(int cnt, bool par) { var json = @"{ a: 1, b: ""something"", c: null, d: {}, e: 23.7}"; void body() { var got = JsonReader.DeserializeDataObject(json); Aver.IsNotNull(got); } var time = Timeter.StartNew(); if (par) { Parallel.For(0, cnt, i => body()); } else { for (var i = 0; i < cnt; i++) { body(); } } time.Stop(); "Did {0:n0} in {1:n1} sec at {2:n0} ops/sec".SeeArgs(cnt, time.ElapsedSec, cnt / time.ElapsedSec); }
public void Test_ModerateObject(int cnt, bool par) { var json = @"{ a: 1, b: true, c: 3, d: { a: ""qweqweqwewqeqw"", b: ""werwerwrwrwe6778687"" }, e: [ 1, 2, null, null, 3, 4, {a: 1}, {a: 2}] }"; void body() { var got = JsonReader.DeserializeDataObject(json); Aver.IsNotNull(got); } var time = Timeter.StartNew(); if (par) { Parallel.For(0, cnt, i => body()); } else { for (var i = 0; i < cnt; i++) { body(); } } time.Stop(); "Did {0:n0} in {1:n1} sec at {2:n0} ops/sec".SeeArgs(cnt, time.ElapsedSec, cnt / time.ElapsedSec); }
protected async override Task <SaveResult <ChangeResult> > DoSaveAsync() { var t = Timeter.StartNew(); await m_Chronicle.WriteAsync(this).ConfigureAwait(false); return(new SaveResult <ChangeResult>(new ChangeResult(ChangeResult.ChangeType.Inserted, Data.Length, $"Done in {t.ElapsedMs} ms", null))); }
public void Test_Primitives(int cnt, bool par) { var json = @"{ a: 1, b: 2, c: true, d: null, e: false, f: false, g: true, i1: 3, i4: 2, i5: 125, i6: 18, f1: true, f2: true, f3: false, i10: 1,i11: 21,i12: 1,i13: 143,i14: 343, i15: 89, i16: 23, f10: true, f11: true, f12: false, f13: false, f14: false, f15: true, f16: true, f17: false, f18: true }"; void body() { var got = JsonReader.DeserializeDataObject(json); Aver.IsNotNull(got); } var time = Timeter.StartNew(); if (par) { Parallel.For(0, cnt, i => body()); } else { for (var i = 0; i < cnt; i++) { body(); } } time.Stop(); "Did {0:n0} in {1:n1} sec at {2:n0} ops/sec".SeeArgs(cnt, time.ElapsedSec, cnt / time.ElapsedSec); }
public void Test_ComplexObject(int cnt, bool par) { var json = @" { a: 1, b: true, c: 3, d: { a: ""qweqweqwewqeqw"", b: ""werwerwrwrwe6778687"" }, e: [ 1, 2, null, null, 3, 4, {a: 1}, {a: 2}], ""person"": {""first-name"": ""oleg"", ""last-name"": ""ogurzov"", age: 127}, ""doctor"": {""first-name"": ""Venni"", ""last-name"": ""Smekhov"", age: 27}, ""patient"": {""first-name"": ""oleg"", ""last-name"": ""popov"", age: 98, prokofiev: { influence: ""shostakovich"", when: ""12 January 1980 3:47 pm""}}, ""singer"": {""first-name"": ""Alla"", ""last-name"": ""Pugacheva"", age: 127}, flag1: true, flag2: true, flag3: null, data: {array: [ { a: 1, b: true, c: 3, d: { a: ""qweqweqwewqeqw"", b: ""werwerwrwrwe6778687"" }, e: [ 1, 2, null, null, 3, 4, {a: 1}, {a: 2}] }, { a: -5, b: false, c: 23, d: { a: ""34 34 5343 34 qweqweqwewqeqw"", b: ""w687"" }, e: [ null, 2, null, null, 3, 4, {a: 1}, {a: 2}] } ]}, flag4: true, flag5: false, flag6: true, notes: [""aaa"", ""bbb"",""ddd"", null, null, [{a: 1},{},{},{},{},{},[],[2, true, true],[1,0],[]]] }"; void body() { var got = JsonReader.DeserializeDataObject(json); Aver.IsNotNull(got); } var time = Timeter.StartNew(); if (par) { Parallel.For(0, cnt, i => body()); } else { for (var i = 0; i < cnt; i++) { body(); } } time.Stop(); "Did {0:n0} in {1:n1} sec at {2:n0} ops/sec".SeeArgs(cnt, time.ElapsedSec, cnt / time.ElapsedSec); }
public void Test_TypicalPerson(int cnt, bool par) { var json = @"{ FirstName: 'Dodik', LastName: 'Bonderman', MiddleName: 'Boruch', Address1: '150 Yasha Kutz Drive #380A', Address2: '2nd flr', City: 'Yerevan', State: 'Arunachala', Zip: 'WAQ-223322', Phone: '+44-223-322-234', Text: null, EMail: '*****@*****.**', DOB: 'January 1, 1980', YearsInService: 115, CanVote: false, CanTravel: true, Score: 234.009805, Income: 150000.00, Assets: 3673456.18 }"; void body() { var got = JsonReader.ToDoc <TypicalPerson>(json); // got.See(); Aver.IsNotNull(got); } var time = Timeter.StartNew(); if (par) { Parallel.For(0, cnt, i => body()); } else { for (var i = 0; i < cnt; i++) { body(); } } time.Stop(); "Did {0:n0} in {1:n1} sec at {2:n0} ops/sec".SeeArgs(cnt, time.ElapsedSec, cnt / time.ElapsedSec); }
public void BenchmarkIntNullable() { var sut = new Typed(); var fd = sut.Schema["Int2"]; var time = Timeter.StartNew(); for (var i = 0; i < CNT; i++) { sut.SetFieldValue(fd, null); sut.SetFieldValue(fd, 123); } time.Stop(); "Speed: {0:n0} ops/sec".SeeArgs(CNT / time.ElapsedSec); }
public void Test1() { var time = Timeter.StartNew(); Aver.IsTrue(time.IsStarted); Thread.Sleep(500); var ems = time.ElapsedMs; var el = time.Elapsed; Aver.IsTrue(ems >= 500 && ems <= 525); Aver.IsTrue(el.TotalMilliseconds >= 500 && el.TotalMilliseconds <= 525); "Elapsed {0} ms / {1} timespan".SeeArgs(ems, el); }
/// <summary> /// Profiles a synchronous call body with DataQueryLatency gauge /// </summary> protected T Profile <T>(Func <T> body) { Timeter?sw = null; if (Instrumented) { sw = Timeter.StartNew(); } var result = body.NonNull(nameof(body))(); if (sw.HasValue) { var el = sw.Value.ElapsedMs; Instrumentation.DataQueryLatency.Emit(Instruments, Store.TargetName, GetType().Name, el); } return(result); }
protected override void DoFilterWork(WorkContext work, IList <WorkFilter> filters, int thisFilterIndex) { var bypass = !this.Enabled || !App.Instrumentation.Enabled; if (bypass) { InvokeNextWorker(work, filters, thisFilterIndex); return; } var time = Timeter.StartNew(); try { InvokeNextWorker(work, filters, thisFilterIndex); } finally { var uri = work.Request.Url.AbsolutePath; var ctx = work.Session?.DataContextName; Instrumentation.ApiLatency.EmitApiCall(App.Instrumentation, uri, ctx, time.ElapsedMs, EmitApiCallEvent); } }
protected override void DoFilterWork(WorkContext work, IList <WorkFilter> filters, int thisFilterIndex) { var ie = App.Instrumentation.Enabled; Timeter?time = null; if (ie) { time = Timeter.StartNew(); } try { InvokeNextWorker(work, filters, thisFilterIndex); } finally { if (ie) { var uri = work.Request.Url.AbsolutePath; var ctx = work.Session?.DataContextName; Instrumentation.ApiLatency.EmitApiCall(App.Instrumentation, uri, ctx, time.Value.ElapsedMs, EmitApiCallEvent); } } }