public void Serialize(FastEnumerable<LSAgent> selectedAgents) { Array.Clear(Data, 0, 64); Header = 0; selectedAgentLocalIDs.FastClear (); bufferAgents.FastClear (); selectedAgents.Enumerate (bufferAgents); for (int i = 0; i < bufferAgents.Count; i++) { SerializeAgent(bufferAgents[i]); } }
public void Serialize(FastEnumerable <LSAgent> selectedAgents) { Array.Clear(Data, 0, 64); Header = 0; selectedAgentLocalIDs.FastClear(); bufferAgents.FastClear(); selectedAgents.Enumerate(bufferAgents); for (int i = 0; i < bufferAgents.Count; i++) { SerializeAgent(bufferAgents[i]); } }
static void Sync(int n) { Console.WriteLine("IEnumerable<T> and IFastEnumerable<T>"); Console.WriteLine(); var sw = new Stopwatch(); var N = 10_000_000; var next = new Action <int>(_ => { }); var slowRange = Enumerable.Range(0, N); var fastRange = FastEnumerable.Range(0, N); var brdgRange = slowRange.ToFastEnumerable(); var slow = slowRange.Where(x => x % 2 == 0).Select(x => x + 1); var fast = fastRange.Where(x => x % 2 == 0).Select(x => x + 1); var brdg = brdgRange.Where(x => x % 2 == 0).Select(x => x + 1).ToEnumerable(); Console.WriteLine("slow.Sum() = " + slow.Aggregate(0, (sum, x) => sum + x)); Console.WriteLine("fast.Sum() = " + fast.Aggregate(0, (sum, x) => sum + x)); Console.WriteLine("brdg.Sum() = " + brdg.Aggregate(0, (sum, x) => sum + x)); Console.WriteLine(); for (var i = 0; i < n; i++) { sw.Restart(); { slow.ForEach(next); } Console.WriteLine("SLOW " + sw.Elapsed); sw.Restart(); { fast.ForEach(next); } Console.WriteLine("FAST " + sw.Elapsed); sw.Restart(); { brdg.ForEach(next); } Console.WriteLine("BRDG " + sw.Elapsed); Console.WriteLine(); } Console.WriteLine(); }
public void Serialize(FastEnumerable <LSAgent> selectedAgents) { Data.FastClear(); selectedAgentLocalIDs.FastClear(); bufferAgents.FastClear(); selectedAgents.Enumerate(bufferAgents); ushort highestID = 0; for (int i = 0; i < bufferAgents.Count; i++) { ushort id = bufferAgents[i].LocalID; if (id > highestID) { highestID = id; } } int headerLength = (highestID + 1 - 1) / 8 + 1; Header = new BitArray(headerLength, false); for (int i = 0; i < bufferAgents.Count; i++) { SerializeAgent(bufferAgents[i]); } }
public Selection(FastEnumerable <RTSAgent> selectedAgents) { bufferAgents.FastClear(); selectedAgents.Enumerate(bufferAgents); this.AddAgents(bufferAgents.ToArray()); }
public Selection(FastEnumerable <LSAgent> selectedAgents) { Serialize(selectedAgents); }
public Selection(FastEnumerable<LSAgent> selectedAgents) { Serialize(selectedAgents); }