// private List<Person> m_Crap = new List<Person>(); private void btnPersonPut_Click(object sender, EventArgs e) { lbPerson.Items.Clear(); var cnt = tbPersonCount.Text.AsInt(10); var w = Stopwatch.StartNew(); var pv = tbPersonVariance.Text.AsInt(0); for (var i = 0; i < cnt; i++) { var obj = i % 5 == 0? Person2.MakeFake2() : Person.MakeFake(); //m_Crap.Add( obj ); if (pv > 0) { obj.BinData = new byte[pv]; } var pp = m_Pile.Put(obj); if (i < 25) { lbPerson.Items.Add(pp); } } var elps = w.ElapsedMilliseconds; Text = "Added {0:n0} in {1:n0}ms at {2:n0}/sec".Args(cnt, elps, cnt / (elps / 1000d)); }
private void trax() { __threadCount = tbTraxThreads.Text.AsInt(1); __writesSec = tbTraxWrites.Text.AsInt(0); __delSec = tbTraxDeletes.Text.AsInt(0); __payloadVariance = tbTraxVariance.Text.AsInt(0); __payloadType = rbtPerson.Checked ? ptype.Person : rbtPerson2.Checked ? ptype.Person2 : rbtString.Checked ? ptype.String : ptype.ByteArray; var added = 0; while (chkTraxer.Checked && m_Traxers.Count < __threadCount) { var context = new tcontext(); var thread = new Thread( (ctx) => { try { var pps = new PilePointer[4000000]; for (var i = 0; i < pps.Length; i++) { pps[i] = PilePointer.Invalid; } var ppi = 0; var di = 0; while (m_Pile.Running && !((tcontext)ctx).STOP) { var tc = __threadCount; if (tc == 0) { return; } var wc = __writesSec / tc; var dc = __delSec / tc; var w = 0; var d = 0; while (w < wc || d < dc) { if (w < wc) { object payload; if (__payloadType == ptype.Person) { var p = Person.MakeFake(); if (__payloadVariance > 0) { p.BinData = new byte[IntMath.ChangeByRndPct(__payloadVariance, -0.25f)]; } payload = p; } else if (__payloadType == ptype.Person2) { var p = Person2.MakeFake2(); if (__payloadVariance > 0) { p.BinData = new byte[IntMath.ChangeByRndPct(__payloadVariance, -0.25f)]; } payload = p; } else if (__payloadType == ptype.String) { payload = new string(' ', __payloadVariance); } else { payload = new byte[__payloadVariance]; } var pp = m_Pile.Put(payload); pps[ppi] = pp; ppi++; if (ppi == pps.Length) { ppi = 0; } w++; } if (d < dc) { if (di == pps.Length) { di = 0; } var pp = pps[di]; if (pp.Address >= 0) { m_Pile.Delete(pp); pps[di] = PilePointer.Invalid; } d++; di++; } } } } catch (Exception error)//abort etc.. { m_Errors.Enqueue(error.ToMessageWithType()); } }); m_Traxers.Add(context); thread.Start(context); added++; } if (added > 0) { log("{0} added {1} threads".Args(DateTime.Now, added)); } var removed = 0; while ((!chkTraxer.Checked && m_Traxers.Count > 0) || m_Traxers.Count > __threadCount) { m_Traxers[0].STOP = true; m_Traxers.RemoveAt(0); removed++; } if (removed > 0) { log("{0} removed {1} threads".Args(DateTime.Now, removed)); } }
private Person2 make() { if (cnt > 2) { return(null); } cnt++; var p1 = new Person2 { Name = "Kumir Da", Age = 22, PointA = new Point(25, 36) }; //p1.IntArray = new int[3]; //p1.IntArray[0] = 11; //p1.IntArray[1] = 22; //p1.IntArray[2] = 33; // p1.StringArray = new string[] {"aaa", "bovin", "zomama"}; //p1.StringArray2D = new string[2,3]; // p1.StringArray2D[1,1] = "Kolya"; // p1.StringArray2D[0,2] = "Sima"; //p1.IntArray3D = new int[2,2,4]; // p1.IntArray3D[0,0,0] = 180; // p1.IntArray3D[1,1,3] = -11; p1.ObjArray = new object[150]; p1.ObjArray[12] = 12; p1.ObjArray[13] = true; p1.ObjArray[14] = App.LocalizedTime; p1.IntList.Add(12); p1.IntList.Add(19); p1.IntList.Add(-1890); p1.IntList.Add(0); p1.IntList.Add(991); p1.Data1 = "ya loshad!"; p1.Data2 = TimeSpan.FromHours(12); p1.Kozel1.Certified = true; p1.Kozel1.KozelGrade = 789; p1.Kozel1.Owner = new Person2 { Name = "Kozlopas", Age = 48 }; p1.Kozel2 = new Kozel { Certified = false, KozelGrade = 2, Owner = new Person2 { Name = "Soloviev", Age = 98 } }; p1.Father = new Person2 { Name = "Dodik Butcer", Age = 120 }; p1.Mother = new Person2 { Name = "Feiga Svinarenko", Age = 95, IsHappy = true, MarriageDate = App.LocalizedTime }; p1.Father.Mother = new Person2 { Name = "Zlata Butcer", Age = 230, Father = p1 }; p1.Sibling1 = new Person2 { Name = "Cathy", Age = 17, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 12 }; p1.Sibling2 = new Person2 { Name = "Jimmy", Age = 34, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 212 }; p1.Sibling3 = new Person2 { Name = "Bob", Age = 7, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 32 }; p1.Sibling4 = new Person2 { Name = "Karl", Age = 21, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = -432 }; p1.Sibling5 = new Person2 { Name = "Oleg", Age = 27, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 552 }; p1.Sibling1.Data1 = make(); p1.Sibling1.Data2 = p1; p1.Sibling1.Father = new Person2 { Name = "David" }; p1.Sibling1.Father.Data1 = 123; p1.Sibling1.Father.Data2 = TimeSpan.FromDays(12.2); p1.Sibling1.Father.Data1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!"; p1.Sibling1.Father.Data2 = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; cnt--; return(p1); }
private Person2 make() { if (cnt>2) return null; cnt++; var p1 = new Person2{ Name = "Kumir Da", Age = 22 , PointA = new Point(25,36)}; //p1.IntArray = new int[3]; //p1.IntArray[0] = 11; //p1.IntArray[1] = 22; //p1.IntArray[2] = 33; // p1.StringArray = new string[] {"aaa", "bovin", "zomama"}; //p1.StringArray2D = new string[2,3]; // p1.StringArray2D[1,1] = "Kolya"; // p1.StringArray2D[0,2] = "Sima"; //p1.IntArray3D = new int[2,2,4]; // p1.IntArray3D[0,0,0] = 180; // p1.IntArray3D[1,1,3] = -11; p1.ObjArray = new object[150]; p1.ObjArray[12] = 12; p1.ObjArray[13] = true; p1.ObjArray[14] = App.LocalizedTime; p1.IntList.Add(12); p1.IntList.Add(19); p1.IntList.Add(-1890); p1.IntList.Add(0); p1.IntList.Add(991); p1.Data1 = "ya loshad!"; p1.Data2 = TimeSpan.FromHours(12); p1.Kozel1.Certified = true; p1.Kozel1.KozelGrade = 789; p1.Kozel1.Owner = new Person2{ Name = "Kozlopas", Age = 48 }; p1.Kozel2 = new Kozel{ Certified = false, KozelGrade = 2, Owner = new Person2{Name="Soloviev", Age = 98}}; p1.Father = new Person2{ Name = "Dodik Butcer", Age = 120 }; p1.Mother = new Person2{ Name = "Feiga Svinarenko", Age = 95, IsHappy = true, MarriageDate = App.LocalizedTime }; p1.Father.Mother = new Person2{Name = "Zlata Butcer", Age = 230, Father = p1}; p1.Sibling1 = new Person2{Name = "Cathy", Age = 17, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 12}; p1.Sibling2 = new Person2{Name = "Jimmy", Age = 34, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 212}; p1.Sibling3 = new Person2{Name = "Bob", Age = 7, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 32}; p1.Sibling4 = new Person2{Name = "Karl", Age = 21, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = -432}; p1.Sibling5 = new Person2{Name = "Oleg", Age = 27, IsHappy = true, MarriageDate = App.LocalizedTime, Data1 = 552}; p1.Sibling1.Data1 = make(); p1.Sibling1.Data2 = p1; p1.Sibling1.Father = new Person2{Name="David"}; p1.Sibling1.Father.Data1 = 123; p1.Sibling1.Father.Data2 = TimeSpan.FromDays(12.2); p1.Sibling1.Father.Data1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!"; p1.Sibling1.Father.Data2 = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"; cnt--; return p1; }