public override ListStruct GetRandomValue() { ListStruct r = new ListStruct(); r.emptyfl32 = new List <float>(); r.emptyil32 = new List <int>(); r.fl32 = new List <float>(); for (int i = 0; i < Utils.GetSize(); i++) { r.fl32.Add(Utils.GetRandomF32()); } r.il32 = new List <int>(); for (int i = 0; i < Utils.GetSize(); i++) { r.il32.Add(Utils.GetRandomI32()); } r.isl = new List <IntegerStruct>(); for (int i = 0; i < Utils.GetSize(); i++) { r.isl.Add(IntegerStruct.GetRndValue()); } return(r); }
public override DictionaryStruct GetRandomValue() { DictionaryStruct r = new DictionaryStruct(); r.emptyd16 = new Dictionary <float, int>(); r.emptyd32 = new Dictionary <int, float>(); r.d16 = new Dictionary <float, int>(); for (int i = 0; i < Utils.GetSize(); i++) { r.d16.Add(Utils.GetRandomF32(), Utils.GetRandomI32()); } r.d32 = new Dictionary <int, float>(); for (int i = 0; i < Utils.GetSize(); i++) { r.d32.Add(Utils.GetRandomI32(), Utils.GetRandomF32()); } r.isd = new Dictionary <int, IntegerStruct>(); for (int i = 0; i < Utils.GetSize(); i++) { r.isd.Add(Utils.GetRandomI32(), IntegerStruct.GetRndValue()); } return(r); }
public override ArrayStruct GetRandomValue() { var r = new ArrayStruct(); r.emptyia32 = new int[0]; r.emptysv1 = new string[0]; r.fa32 = new float[Utils.GetSize()]; for (int i = 0; i < r.fa32.Length; i++) { r.fa32[i] = Utils.GetRandomF32(); } r.ia32 = new int[Utils.GetSize()]; for (int i = 0; i < r.ia32.Length; i++) { r.ia32[i] = Utils.GetRandomI32(); } r.isa = new IntegerStruct[Utils.GetSize()]; for (int i = 0; i < r.isa.Length; i++) { r.isa[i] = IntegerStruct.GetRndValue(); } r.sv1 = new string[Utils.GetSize()]; for (int i = 0; i < r.sv1.Length; i++) { r.sv1[i] = Utils.GetRandomS(); } return(r); }
public override void streamReadFunc(Stopwatch sw) { sw.Start(); MemoryStream ms = new MemoryStream(base.streamWriteBuffer); BinaryReader br = new BinaryReader(ms); DictionaryStruct r = new DictionaryStruct(); var h16 = ReadDictionaryHeader16(br); if (h16.Item1) { r.nulld16 = new Dictionary <float, int>(); for (int i = 0; i < h16.Item2; i++) { r.nulld16.Add(br.ReadSingle(), br.ReadInt32()); } } var h32 = ReadDictionaryHeader32(br); if (h32.Item1) { for (int i = 0; i < h32.Item2; i++) { r.nulld32.Add(br.ReadInt32(), br.ReadSingle()); } } h16 = ReadDictionaryHeader16(br); if (h16.Item1) { r.emptyd16 = new Dictionary <float, int>(); for (int i = 0; i < h16.Item2; i++) { r.emptyd16.Add(br.ReadSingle(), br.ReadInt32()); } } h32 = ReadDictionaryHeader32(br); if (h32.Item1) { r.emptyd32 = new Dictionary <int, float>(); for (int i = 0; i < h32.Item2; i++) { r.emptyd32.Add(br.ReadInt32(), br.ReadSingle()); } } h16 = ReadDictionaryHeader16(br); if (h16.Item1) { r.d16 = new Dictionary <float, int>(); for (int i = 0; i < h16.Item2; i++) { r.d16.Add(br.ReadSingle(), br.ReadInt32()); } } h32 = ReadDictionaryHeader32(br); if (h32.Item1) { r.d32 = new Dictionary <int, float>(); for (int i = 0; i < h32.Item2; i++) { r.d32.Add(br.ReadInt32(), br.ReadSingle()); } } h32 = ReadDictionaryHeader32(br); if (h32.Item1) { r.nv1 = new Dictionary <int, int>(); for (int i = 0; i < h32.Item2; i++) { r.nv1.Add(br.ReadInt32(), br.ReadInt32()); } } h16 = ReadDictionaryHeader16(br); if (h16.Item1) { r.isd = new Dictionary <int, IntegerStruct>(); for (int i = 0; i < h16.Item2; i++) { r.isd.Add(br.ReadInt32(), IntegerStruct.Read(br)); } } h32 = ReadDictionaryHeader32(br); if (h32.Item1) { r.nv2 = new Dictionary <int, int>(); for (int i = 0; i < h32.Item2; i++) { r.nv2.Add(br.ReadInt32(), br.ReadInt32()); } } sw.Stop(); if (binaryReadedValue == null) { binaryReadedValue = r; } }
public override void streamWriteFunc(Stopwatch sw) { base.binaryWritedValue = base.serializedValue; sw.Start(); MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); if (WriteDictionaryHeader16(bw, base.binaryWritedValue.nulld16)) { foreach (var item in base.binaryWritedValue.nulld16) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader32(bw, base.binaryWritedValue.nulld32)) { foreach (var item in base.binaryWritedValue.nulld32) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader16(bw, base.binaryWritedValue.emptyd16)) { foreach (var item in base.binaryWritedValue.emptyd16) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader32(bw, base.binaryWritedValue.emptyd32)) { foreach (var item in base.binaryWritedValue.emptyd32) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader16(bw, base.binaryWritedValue.d16)) { foreach (var item in base.binaryWritedValue.d16) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader32(bw, base.binaryWritedValue.d32)) { foreach (var item in base.binaryWritedValue.d32) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader32(bw, base.binaryWritedValue.nv1)) { foreach (var item in base.binaryWritedValue.nv1) { bw.Write(item.Key); bw.Write(item.Value); } } if (WriteDictionaryHeader16(bw, base.binaryWritedValue.isd)) { foreach (var item in base.binaryWritedValue.isd) { bw.Write(item.Key); IntegerStruct.Write(bw, item.Value); } } if (WriteDictionaryHeader32(bw, base.binaryWritedValue.nv2)) { foreach (var item in base.binaryWritedValue.nv2) { bw.Write(item.Key); bw.Write(item.Value); } } sw.Stop(); base.streamWriteBuffer = ms.ToArray(); }
public override void streamReadFunc(Stopwatch sw) { sw.Start(); MemoryStream ms = new MemoryStream(base.streamWriteBuffer); BinaryReader br = new BinaryReader(ms); ListStruct r = new ListStruct(); var h16 = ReadListHeader16(br); if (h16.Item1) { r.nullfl32 = new List <float>(); for (int i = 0; i < h16.Item2; i++) { r.nullfl32.Add(br.ReadSingle()); } } var h32 = ReadListHeader32(br); if (h32.Item1) { r.nullil32 = new List <int>(); for (int i = 0; i < h32.Item2; i++) { r.nullil32.Add(br.ReadInt32()); } } h16 = ReadListHeader16(br); if (h16.Item1) { r.emptyfl32 = new List <float>(); for (int i = 0; i < h16.Item2; i++) { r.emptyfl32.Add(br.ReadSingle()); } } h32 = ReadListHeader32(br); if (h32.Item1) { r.emptyil32 = new List <int>(); for (int i = 0; i < h32.Item2; i++) { r.emptyil32.Add(br.ReadInt32()); } } h16 = ReadListHeader16(br); if (h16.Item1) { r.fl32 = new List <float>(); for (int i = 0; i < h16.Item2; i++) { r.fl32.Add(br.ReadSingle()); } } h32 = ReadListHeader32(br); if (h32.Item1) { r.il32 = new List <int>(); for (int i = 0; i < h32.Item2; i++) { r.il32.Add(br.ReadInt32()); } } h16 = ReadListHeader16(br); if (h16.Item1) { r.isl = new List <IntegerStruct>(); for (int i = 0; i < h16.Item2; i++) { r.isl.Add(IntegerStruct.Read(br)); } } sw.Stop(); if (binaryReadedValue == null) { binaryReadedValue = r; } }
public override void streamWriteFunc(Stopwatch sw) { base.binaryWritedValue = base.serializedValue; sw.Start(); MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); if (WriteListHeader16(bw, base.binaryWritedValue.nullfl32)) { foreach (var item in base.binaryWritedValue.nullfl32) { bw.Write(item); } } if (WriteListHeader32(bw, base.binaryWritedValue.nullil32)) { foreach (var item in base.binaryWritedValue.nullil32) { bw.Write(item); } } if (WriteListHeader16(bw, base.binaryWritedValue.emptyfl32)) { foreach (var item in base.binaryWritedValue.emptyfl32) { bw.Write(item); } } if (WriteListHeader32(bw, base.binaryWritedValue.emptyil32)) { foreach (var item in base.binaryWritedValue.emptyil32) { bw.Write(item); } } if (WriteListHeader16(bw, base.binaryWritedValue.fl32)) { foreach (var item in base.binaryWritedValue.fl32) { bw.Write(item); } } if (WriteListHeader32(bw, base.binaryWritedValue.il32)) { foreach (var item in base.binaryWritedValue.il32) { bw.Write(item); } } if (WriteListHeader16(bw, base.binaryWritedValue.isl)) { foreach (var item in base.binaryWritedValue.isl) { IntegerStruct.Write(bw, item); } } sw.Stop(); base.streamWriteBuffer = ms.ToArray(); }
public override void streamReadFunc(Stopwatch sw) { sw.Start(); MemoryStream ms = new MemoryStream(base.streamWriteBuffer); BinaryReader br = new BinaryReader(ms); var r = new ArrayStruct(); // nullsv1, int16 var ex16 = ReadArrayHeader16(br); if (ex16.Item1) { r.nullsv1 = new string[ex16.Item2]; for (int i = 0; i < ex16.Item2; i++) { r.nullsv1[i] = StringStruct.ReadString16(br); } } //nullia32, int32 var ex32 = ReadArrayHeader32(br); if (ex32.Item1) { r.nullia32 = new int[ex32.Item2]; for (int i = 0; i < ex32.Item2; i++) { r.nullia32[i] = br.ReadInt32(); } } //emptysv1, int16 ex16 = ReadArrayHeader16(br); if (ex16.Item1) { r.emptysv1 = new string[ex16.Item2]; for (int i = 0; i < ex16.Item2; i++) { r.emptysv1[i] = StringStruct.ReadString16(br); } } //emptyia32, int32 ex32 = ReadArrayHeader32(br); if (ex32.Item1) { r.emptyia32 = new int[ex32.Item2]; for (int i = 0; i < ex32.Item2; i++) { r.emptyia32[i] = br.ReadInt32(); } } //fa32, int16 ex16 = ReadArrayHeader16(br); if (ex16.Item1) { r.fa32 = new float[ex16.Item2]; for (int i = 0; i < ex16.Item2; i++) { r.fa32[i] = br.ReadSingle(); } } //sv1, int16 ex16 = ReadArrayHeader16(br); if (ex16.Item1) { r.sv1 = new string[ex16.Item2]; for (int i = 0; i < ex16.Item2; i++) { r.sv1[i] = StringStruct.ReadString16(br); } } ex32 = ReadArrayHeader32(br); if (ex32.Item1) { r.ia32 = new int[ex32.Item2]; for (int i = 0; i < ex32.Item2; i++) { r.ia32[i] = br.ReadInt32(); } } ex16 = ReadArrayHeader16(br); if (ex16.Item1) { r.isa = new IntegerStruct[ex16.Item2]; for (int i = 0; i < ex16.Item2; i++) { r.isa[i] = IntegerStruct.Read(br); } } sw.Stop(); base.binaryReadedValue = r; }
static void Main(string[] args) { DebugTemp.TStruct.Debug(); Test t = new Test(); BinarySerializer.TypeStorage.Instance.PreCompileBinaryStructs(Assembly.GetExecutingAssembly()); Structs.StringStruct _ss = new Structs.StringStruct(); Structs.IntegerStruct _is = new Structs.IntegerStruct(); Structs.FloatStruct _fs = new Structs.FloatStruct(); Structs.ArrayStruct _as = new Structs.ArrayStruct(); Structs.ListStruct _ls = new Structs.ListStruct(); Structs.DictionaryStruct _ds = new Structs.DictionaryStruct(); Structs.OtherStruct _os = new Structs.OtherStruct(); int iteration = 1000; Console.WriteLine("BinarySerializer"); t.Run(iteration, "Integer Serialize", _is.bsSerializeAction); t.Run(iteration, "Integer Desserialize", _is.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "Integer Write", _is.streamWriteFunc); t.Run(iteration, "Integer Read", _is.streamReadFunc); _is.Compare(); Console.WriteLine(); Console.WriteLine("BinarySerializer"); t.Run(iteration, "Float Serialize", _fs.bsSerializeAction); t.Run(iteration, "Float Desserialize", _fs.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "Float Write", _fs.streamWriteFunc); t.Run(iteration, "Float Read", _fs.streamReadFunc); _fs.Compare(); Console.WriteLine(); Console.WriteLine("BinarySerializer"); t.Run(iteration, "String Serialize", _ss.bsSerializeAction); t.Run(iteration, "String Desserialize", _ss.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "String Write", _ss.streamWriteFunc); t.Run(iteration, "String Read", _ss.streamReadFunc); _ss.Compare(); Console.WriteLine(); Console.WriteLine("BinarySerializer"); t.Run(iteration, "Array Serialize", _as.bsSerializeAction); t.Run(iteration, "Array Desserialize", _as.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "Array Write", _as.streamWriteFunc); t.Run(iteration, "Array Read", _as.streamReadFunc); _as.Compare(); Console.WriteLine(); Console.WriteLine("BinarySerializer"); t.Run(iteration, "List Serialize", _ls.bsSerializeAction); t.Run(iteration, "List Desserialize", _ls.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "List Write", _ls.streamWriteFunc); t.Run(iteration, "List Read", _ls.streamReadFunc); _ls.Compare(); Console.WriteLine(); Console.WriteLine("BinarySerializer"); t.Run(iteration, "Dictionary Serialize", _ds.bsSerializeAction); t.Run(iteration, "Dictionary Desserialize", _ds.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "Dictionary Write", _ds.streamWriteFunc); t.Run(iteration, "Dictionary Read", _ds.streamReadFunc); _ds.Compare(); Console.WriteLine(); Console.WriteLine("BinarySerializer"); t.Run(iteration, "Other Serialize", _os.bsSerializeAction); t.Run(iteration, "Other Desserialize", _os.bsDesserializeAction); Console.WriteLine(); Console.WriteLine("Stream"); t.Run(iteration, "Other Write", _os.streamWriteFunc); t.Run(iteration, "Other Read", _os.streamReadFunc); _os.Compare(); Console.ReadKey(); }